当需要计算两个时间的时间差来进行处理时,例如算总用时,然后处理成指定格式。
这里用了moment来进行计算。
因为日期格式分几种,所以需要先将两个日期的格式处理成一样的格式。
let time1 = moment(state.detail.StartTime, "YYYY-MM-DD HH:mm:ss");
let time2 = moment(state.detail.EndTime, "YYYY-MM-DD HH:mm:ss");
// 输出时间差
let diff = time2.diff(time1);
let duration = moment.duration(diff);
// 输出格式化的时间差
const totalTime = `${duration.hours()} 时 ${duration.minutes()} 分 ${duration.seconds()} 秒`;
转化成统一的格式之后进行时间差值计算,然后理由moment的duration函数来进行特殊操作,比如把当前时间差值转换为时分秒的格式。
moment.duration的另外一些用法:
asMilliseconds(): 获取持续时间的毫秒数。
asSeconds(): 获取持续时间的秒数。
asMinutes(): 获取持续时间的分钟数。
asHours(): 获取持续时间的小时数。
asDays(): 获取持续时间的天数。
通过多个单位组合来创建一个复杂的时间段:
// 创建一个 1 天 2 小时 30 分钟的持续时间
let complexDuration = moment.duration({ days: 1, hours: 2, minutes: 30 });
console.log(complexDuration.days()); // 1
console.log(complexDuration.hours()); // 2
console.log(complexDuration.minutes()); // 30