这里说的时间字符串格式是:
"2021-01-15T14:44:40.001+08:00" 或者 "2021-01-15 14:44:40"
一、原生js
function diffSecond(start, end) {
const startTime = new Date(start);
const endTime = new Date(end);
const second_time = Math.abs(startTime - endTime) / 1000; // 得到相差的秒数
return second_time;
}
diffSecond("2021-01-15T14:44:40.263+08:00","2021-01-15T14:44:00.001+08:00") // 40.262
diffSecond('2021-01-15 15:26:30','2021-01-15 15:26:45'); // 15
// 获取相差的秒数,两个时间字符串相差的秒数,如 "2021-01-15T14:44:40.263+08:00" 和 "2021-01-15T14:44:00.001+08:00",相差 40秒
二、用dayjs插件
export function diffSecondByDayjs(start, end) {
const date1 = dayjs(start);
const date2 = dayjs(end);
let diffTime = Math.abs(date1.diff(date2, 'second')); //获取两个时间对象相差的秒数,取绝对值。second是秒,传入day是相差的天数
return diffTime;
}
diffSecondByDayjs('2021-01-15T14:44:40.263+08:00','2021-01-15T14:44:00.001+08:00'); // 40 这里得到的是整数
diffSecondByDayjs('2021-01-15 15:26:30','2021-01-15 15:26:45'); // 15
将得到的秒数转换为时间差字符串,天时分秒,请参考:https://blog.csdn.net/ddx2019/article/details/105771645
关于dayjs的更多用法, 可参考博主往期文章:https://blog.csdn.net/ddx2019/article/details/102535557