UTC エポックをローカル日付オブジェクトに変換するのは難しい作業になる場合があります。デフォルトでは、JavaScript の new Date() はエポック時間がローカルであると想定するため、UTC エポックを扱うときに混乱が生じます。
解決策 1: setUTCSeconds() メソッドを使用する
常に正確な結果が得られるとは限らない setTime() を使用して UTC オブジェクトを調整する代わりに、最初の日付をエポックに設定し、UTC 単位を追加することを検討してください。
var utcSeconds = 1234567890; var d = new Date(0); // Sets the date to the epoch d.setUTCSeconds(utcSeconds);
これこの方法では、日付を UTC エポックに直接設定し、希望の UTC 秒に調整します。
上記の解決策が機能しない場合は、ローカルの現在のエポックと UTC の現在のエポック間の時間差。提供したコードの修正バージョンは次のとおりです。
var utcSeconds = 1234567890; var utcDate = new Date(utcSeconds * 1000); // Convert seconds to milliseconds var localDate = new Date(); var timeDifference = localDate.getTime() - utcDate.getTime(); console.log(timeDifference); // This should give you the time difference in milliseconds
utcDate オブジェクトを作成する前に、UTC 秒をミリ秒に変換してください。 timeDifference は現地時間と UTC 時間の間のミリ秒の差を提供し、正確な調整を可能にします。
以上がJavaScriptでUTCエポックをローカル日付に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。