💡
パソコンの時刻がズレていてもJavaScriptの時間を正しくする
質問
JavaScriptで、設定した時刻(1:00、2:00丁度)になったらブラウザ上の文字を変更させたい場合、クライアント(パソコン)の時刻がズレていると影響を受けますか?
回答
影響を受けます。JavaScriptはクライアント(パソコン)の時刻を参照するからです。
このような場合には、サーバーの時刻も一緒にブラウザに送信します。
<html>
<head></head>
<body>
<h1>TEST</h1>
<script>
// PHPでサーバーのUnixタイムをJavaScriptの変数に代入する
const time = <?= time() ?>;
console.log(time);
// 日時オブジェクトを作成し、Unixタイムをセットする
const date = new Date();
date.setTime(time * 1000); // JavaScriptは1000/1秒単位なので1000を掛ける
console.log(date);
</script>
</body>
</html>
Discussion