【发布时间】:2016-04-23 13:31:51
【问题描述】:
我正在使用 momentjs 检查火车旅行的两个时间戳之间的分钟差。 我用来从 24 小时格式的返回时间中获取数据的 API (momentjs: HH:mm:ss)。
如果行程继续到第二天,时间会显示为“24:12:00”,这很奇怪。 Momentjs 无法处理这个问题,如果我尝试用这些值计算时间差,我会得到“NaN”。
所以我创建了一个函数来将任何出现的“24”转换为“00”。
function maintainHour (timeString) {
var splitted = timeString.split(':');
if(splitted[0] == '24') {
splitted[0] = '00';
}
return splitted[0] + ':' + splitted[1] + ':' + splitted[2];
}
如果我使用diff() 函数来检查一个时间戳和一个以“00”为小时的时间戳之间的差异,我无法区分它是当天的时间戳还是第二天的时间戳。因此,如果当前时间是 16:00(例如今天的早上),则差异将在 -900 左右,而不是到下一天的 24 小时前的正 X 分钟。
知道如何处理吗?
【问题讨论】:
标签: javascript node.js datetime momentjs