moment.js 格式化显示时间差
项目中有个字段需要计算两个时间的时间差,并且按照x天 x 小时 x 分钟
显示,如
2022/06/30 09:00:00
2022/06/30 12:30:00
3 小时 30分钟
之前已经在项目中引入了moment.js
,接下来用其中的一些方法封装一个可以得到目标字符串的函数。
/**
* 将时间差转为直观的时分秒格式
* @param start: 开始时间
* @param end: 结束时间
*/
private calcRunningTime(start, end): string {
let result: string;
const startTime = moment(new Date(start));
const endTime = moment(new Date(end));
const diff = endTime.diff(startTime, 'minutes');
const durationTime = moment.duration(diff, 'minutes');
const days = durationTime.days();
const hours = durationTime.hours();
const minutes = durationTime.minutes();
result = `${minutes}分钟 `;
if (hours > 0) {
result = `${hours}小时 ${result}`;
}
if (days > 0) {
result = `${days}天 ${result}`;
}
return result;
}
网友评论