0

我怎样才能计算得到时差。我有isoDate日期格式的服务器时间和客户端系统时间。这是我的输出数据:

以 UTC 表示的服务器时间转换为本地系统时区时间:

Tue May 22 2012 14:29:51 GMT+0530 (India Standard Time)

本地系统时间:

Tue May 22 2012 14:31:51 GMT+0530 (India Standard Time)

我想以这样的方式进行计算,如果本地系统时间小于或大于 5 分钟(可配置值),则忽略与服务器时间显示的秒数之间的差异想要执行某些任务,否则执行另一个任务. 我不知道如何进行计算,因为根据服务器时间,当它是午夜 12:01 时,日期、小时和分钟会发生变化,而如果本地系统仅落后 4 分钟,如何确定差异不小于 5分钟虽然日期改变了。我的主要想法是检查所有内容以匹配日期、时间并检查差异。请帮忙。

4

1 回答 1

2
function getDateDiff(date1, date2) {
    var second = 1000,
    minute = second * 60,
    date1 = new Date(date1).getTime();
    date2 = (date2 == 'now') ? new Date().getTime() : new Date(date2).getTime(); // now means current date
    var timediff = date2 - date1;
    if (isNaN(timediff)) return NaN;
    return Math.floor(timediff / minute);
}

利用:

getDateDiff(YOUR_SERVER_DATE, YOUR_CLIENT_DATE); // output will be in unit minute

或者

getDateDiff(YOUR_SERVER_DATE, 'now'); // for current date 
于 2012-05-22T09:42:51.097 回答