有一个字符串形式的过程的开始日期:
'2020-03-02 06:49:05'
以及处理完成日期:
'2020-03-02 07:05:02'
问题:从方法的角度来看,最正确的方法是什么-计算流程开始和结束之间的差异(以分钟为单位)?(如果vue.js
或nuxt.js
中有任何内置方法,那么也非常有必要了解它们。)
我认为最好的方法是使用Javascript Date对象,
d1 = '2020-03-02 06:49:05'
d2 = '2020-03-02 07:05:02'
diff_in_millis = Math.abs(new Date(d1) - new Date(d2))
diff_in_minutes = diff/60000
使用Date.parse()从字符串创建日期。它以毫秒为单位返回日期,获取差值并将其转换为分钟。
请参见下面的代码段。
const startTime= Date.parse('2020-03-02 06:49:05')
const endTime = Date.parse('2020-03-02 07:05:02')
// Difference in Minutes
const durationInMin= (endTime-startTime)/60000;
console.log({ startTime, endTime, durationInMin })
alert(`Process took: ${durationInMin} minutes`)
注:对于人类可读的日期,我发现date-fns最有用。鉴于与moment.js相比,它的重量轻]