1

unix-timestampを解析しようとすると、DateObjectの使用に問題があります。

例:

//I am receiving json data that contains Unix-Timestamp like 1348514100000

var unixTimestamp = data.timestamp; //1348514100000
var date = new Date(unixTimestamp);
console.log(date.getDay()); // is wrong..

例2:

var unixTimestamp = data.timestamp; //1348514100000
var date = new Date();
date = date.setDate(unixTimestamp);
console.log(date.getDay()); // still wrong..

string-timestampを解析してintを変換しようとしました

var intUT = parseInt(unixTimestamp);

しかし、それでも正しい日時ではありません。私は本当に何をすべきかわかりません。このUNIXタイムスタンプから正しい日付と時刻を取得するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

3

あなたのコードは完全に問題ありません、唯一の問題は間違ったタイプにあるかもしれません。これを試してみてください:

new Date(+"1348514100000")

Mon Sep 24 2012 21:15:00 GMT+0200 (CEST)に、他の人が報告Mon Sep 24 2012 14:15:00 GMT-0500 (CDT)し、12:15:00 GMT-0700 (PDT)http://www.epochconverter.comによると、それはMon, 24 Sep 2012 19:15:00 GMTです。

これらの日付はすべて、まったく同じ時点を表していることに注意してください。タイムゾーンの違い(したがって時間の違い)は、愚かなDate.toString()実装(Java言語からコピーされた間違い)によるものです。

このような日付を処理するための唯一のポータブルで組み込みの方法は、エポック時間(ミリ秒)で操作するか、一連getUTC*()のメソッドを使用することです。

new Date(+"1348514100000").getUTCHours()

上記のコードは、ブラウザ/ OSのタイムゾーンに関係なく、常に19(GMT時間)を返します。

于 2012-09-24T13:57:12.400 に答える