UTCエポックを現地の日付に変換する 質問する

UTCエポックを現地の日付に変換する 質問する

私はこれとしばらく格闘しています。エポックを日付オブジェクトに変換しようとしています。エポックは UTC で送信されます。new Date()エポックを渡すと、ローカル エポックであると想定されます。UTC オブジェクトを作成し、setTime()それを使用して適切なエポックに調整しようとしましたが、役立つと思われる唯一の方法は であり、toUTCString()文字列は役に立ちません。その文字列を新しい日付に渡すと、UTC であることが認識されるはずですが、認識されません。

new Date( new Date().toUTCString() ).toLocaleString()

次に試みたのは、ローカルの現在のエポックと UTC の現在のエポックの差を取得しようとしたのですが、これも取得できませんでした。

new Date( new Date().toUTCString() ).getTime() - new Date().getTime()

表示される差は 1000 ミリ秒未満と非常に小さいです。

助言がありますか?

ベストアンサー1

もっと簡単な解決策があると思います。初期日付をエポックに設定し、UTC 単位を追加します。秒単位で保存された UTC エポック変数があるとします。1234567890これをローカル タイム ゾーンの適切な日付に変換するには、次のようにします。

var utcSeconds = 1234567890;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);

d日付は(私のタイムゾーンでは)Fri Feb 13 2009 18:31:30 GMT-0500 (EST)

おすすめ記事