JS 时间戳格式化 - 毫秒转【年-月-日 时:分:秒】
对时间做计算时,通常要转成时间戳。
算完了还得转回个咱能看懂的格式不是嘛。。。
按理说,应该写个支持如下格式的功能。但是先将就用吧
function formatTimestamp(timestamp, fullFormat) {
var daysMillisecond = 86400000; // 一天毫秒数 1000 * 60 * 60 * 24
var hoursMillisecond = 3600000; // 一小时毫秒数 1000 * 60 * 60
var minutesMillisecond = 60000; // 一分钟毫秒数 1000 * 60
var days = parseInt(timestamp / daysMillisecond );
var hours = parseInt(timestamp % daysMillisecond / hoursMillisecond);
var minutes = parseInt(timestamp % hoursMillisecond / minutesMillisecond );
var seconds = timestamp % minutesMillisecond / 1000;
// 完整格式
if(fullFormat){
return days + " 天 " + hours + " 小时 " + minutes + " 分钟 " + seconds + " 秒 ";
}else{
var arr = [];
if(days){ arr.push(days + " 天 "); }
if(hours || days){ arr.push(hours + " 小时 "); }
if(minutes || hours || days){ arr.push(minutes + " 分钟 "); }
if(seconds || minutes || hours || days){ arr.push(seconds + " 秒 "); }
return arr.join('');
}
}
formatTimestamp(Date.parse('2019-04-17 12:59:59') - Date.parse("2019-04-17 00:00:00"));
"12 小时 59 分钟 59 秒 "
formatTimestamp(Date.parse('2019-04-17 12:59:59') - Date.parse("2019-04-16 00:00:00"));
"1 天 12 小时 59 分钟 59 秒 "
formatTimestamp(Date.parse('2019-04-17 12:59:59') - Date.parse("2019-04-16 12:00:00"));
"1 天 0 小时 59 分钟 59 秒 "