Calculating difference between hours
我搜索了SO并找到了解决方案,但他们没有使用日期文件或只是不工作,因为他们计算天数,我只关注同一天的小时数。
我正在尝试计算两个日期之间的差异,或者更确切地说,是在同一天的几个小时之间进行计算,以便当有人进入并计时并计算当天工作的小时数时我可以得到。
我正在使用date-fns
如果我运行
如果我运行
这是我计算小时数的函数。
1 2 3 4 5 6 7 8 9 | updateHours() { var end = dateFns.format(new Date(this.myForm.value.endTime, 'HH:mm')); var start = dateFns.format(new Date(this.myForm.value.startTime, 'HH:mm')); var result = dateFns.differenceInMinutes( new Date(end), new Date(start) ) console.log(result); } |
我究竟做错了什么?
正在进行不正确的解析,因为您只想在
设置为
在下面的代码片段中,我创建了一个新日期,使用日期方法
1 | date.setHours(0, 0, 0); // Set hours, minutes and seconds |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | var start_time ="14:00"; var end_time ="16:00"; function updateHours() { var current = new Date(); var start = current.setHours(start_time.split(":")[0], start_time.split(":")[1], 0); var end = current.setHours(end_time.split(":")[0], end_time.split(":")[1], 0); console.log(start, end) var result = dateFns.differenceInMinutes( end, start ) console.log(result); } updateHours(); |
1 2 3 4 5 6 7 8 9 | .as-console { height: 100%; } .as-console-wrapper { max-height: 100% !important; top: 0; text-align:center; } |
1 | <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/1.29.0/date_fns.min.js"> |
参考文献:
我认为如果你有两个
1 | var minutes = Math.abs(start.getTime() - end.getTime()) / 60000 // display in minutes |
你也可以围绕它,
希望能帮助到你 :)