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分(構成可能な値)と言うような方法で計算を行いたいのですが、別のタスクを実行したい。サーバーの時刻に応じて午前0時1分になると、日付、時間、分が変わるのに対し、ローカルシステムがわずか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 に答える