0

日付を Java エポックに変換してから、それを読み取って元に戻す必要があります。ここで何が間違っているのかわかりませんか?

var date = new Date('1/3/2013');
var timeStamp = date.getTime();
console.log(timeStamp);
var revertDate = new Date(timeStamp);
console.log(revertDate.getDate()+'/'+revertDate.getMonth()+'/'+revertDate.getFullYear());

出力は3/0/2013instad 1/3/2013?

フィドルリンク

4

2 に答える 2

1
var date = new Date('1/3/2013');

コンストラクターは、Dateこの指定された文字列を次のように解析しています。

//

この場合、Month は 1、Day は 3、Year は 2013 です。何が起こっているのでしょうか? それは非常に簡単です。この日付のグレゴリオ表現 (具体的にはDay / Month / Year ) は Date コンストラクターによって使用されるものではないため、1(月) を 1 月として解析し、月3の 3 日目 (3 日目) として解析します。これで、0 ベースのインデックス付けにより、構築されたDateオブジェクトはn-1、提供された月の中にある月を返します。それがあなたが得ている理由です3/0/2013。2013 年の 0 月 (1 月) の 3 日目 (3) です。実際の日付を取得したい場合は、次のようにする必要があります。

var date = new Date('3/1/2013');
console.log(date.getDate()+'/'+(date.getMonth()+1)+'/'+date.getFullYear());
于 2013-08-31T08:38:52.777 に答える