UTC 時刻を常に更新してユーザーに表示する必要がある UI があります。
私の元のコードはこれでした:
(function () {
$http.get('api/getdate').success(function (data) {
current = new Date(data.res + new Date().getTimezoneOffset()*60*1000);
updateDateTimer = setInterval(function(){
$http.get('api/getdate').success(function (data) {
current = new Date(data.res + new Date().getTimezoneOffset()*60*1000);
});
}, 30000);
});
})();
data.res には、必要な正しいタイムスタンプがあります。UIに送り返されるデータでサーバーを信頼できるため、この方法は正常に機能します。ユーザーから必要な唯一のデータはUTCからのオフセットであるため、表示される日付は正しいと確信しています。
私の問題は、サーバーへの呼び出しが 30 秒ごとに行われることです。クロックをさらに頻繁に変更したい場合、これは非常に厄介なことになります。
サーバーへの呼び出しを 1 回だけ行い、作成された Date オブジェクトにタイマーを使用して 1 秒を追加することを考えましたが、これは正確ではなく、数分後には時計が実際の時計と同期していないことがわかります。時間。
初めてサーバーに電話をかけない可能性はありますか? 問題は、クライアントがローカル クロックを変更しないことを確認できないことです。最初の .get 呼び出しで作成されている Date オブジェクトを処理する方法が必要なようですが、どうすればよいですか?
ありがとう