1

setUTCMilliseconds を正しく実装していませんか? 入力した値の日付が間違っています。これは、間違った値の一例です。すべてのテスト データは、JS では 5 月 24 日 (今から未来) に解決されますが、C# またはクイック オンライン変換ツールを使用すると、UTS MS は正しいです。

何かご意見は?

function parseDate(epoch) {   
    var d = new Date();

    //tried this too, but it shows me the actual epoch 1970 date instead
    //var d = new Date(0);

    //EDIT: this should be seconds in combination with Date(0)
    d.setUTCMilliseconds(parseInt(epoch)); 

    return d.toString();
}

 // 1336423503 -> Should be Mon May 07 2012 13:45:03 GMT-7

 // javascript says
 Thu May 24 2012 05:03:21 GMT-0700 (Pacific Daylight Time) 
4

3 に答える 3

2

同様の質問から:

var utcMilliseconds = 1234567890000;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCMilliseconds(utcMilliseconds);

javascript を使用して UTC エポックをローカル日付に変換するを参照してください。

于 2012-05-09T00:58:27.050 に答える
1

秒単位の UTC 時刻をローカル日付オブジェクトに変換するには、次のようにします。

function makeUTC(secs) {
  return new Date(Date.UTC(1970,0,1,0,0, secs, 0));
}

エポックは 1970-01-01T00:00:00.0Z であることに注意してください

于 2012-05-09T01:19:24.310 に答える
1

Date()ミリ秒を数値としてコンストラクターを使用するだけです。

> new Date(1336423503 * 1000)
2012-05-07T20:45:03.000

Date オブジェクトを作成して後で UTCMilliseconds を設定する必要はありません。

于 2012-05-09T02:30:59.787 に答える