3

我正在使用 javascript 中的日期/时间,它在 chrome windows 上正常工作,但在 iOS 设备上的 Chrome 中不工作。在 iOS 上无法正确计算两次之间的差异。

这是我的代码:

var start_timeObj = moment(start_time, ["h:mm A"]);
var end_timeObj = moment(end_time, ["h:mm A"]);
var start_time=start_timeObj.format("HH:mm");
var end_time=end_timeObj.format("HH:mm"); 

var diff = ( new Date("1970-1-1 " + end_time) - new Date("1970-1-1 " + start_time) ) / 1000 / 60 / 60;

if(diff==1)
{
4

2 回答 2

0

您是否尝试过使用 moment 的内置差异功能?

var start = moment(start_time, ["h:mm A"]);
var end = moment(end_time, ["h:mm A"]);
var diffMilliseconds = end.diff(start) // outputs 3600000 (in ms)
var diffHours = diff / 1000 / 60 / 60; // outputs 1

文档: https ://momentjs.com/docs/#/displaying/difference/

于 2019-07-26T10:10:51.163 回答
0

如果您不想使用时刻,您可以尝试使用:

var date1 = new Date('1998-07-20');
var date2 = new Date('1998-07-23');
var diffTime = Math.abs(date2.getTime() - date1.getTime());
diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1; 

如果您不添加1到 diffDays,则不会包含结束日期。

您可以使用 H:m:s 格式 ( https://playcode.io/396986?tabs=script.js,preview,console )做同样的事情

于 2019-07-26T10:26:59.603 回答