1

javascript の getDate 関数に非常に奇妙な問題があります。関数の開始時に、次を使用して Date オブジェクトを作成しました。

var day = new Date(date);  

dateUNIX タイムスタンプです。

日オブジェクトを変更しませんが、しばらくしてこのオブジェクトの日を取得しようとしましたがday.getDate()、間違った値が返され続けます。

例えば:

alert(day.getTime() + "-" + day.getDate() + "-"+ day.getMonth() +"-" + day.getFullYear() + "-" + day.getHours() + "-" + day.getMinutes() + "-" + day.getSeconds());  

次の結果が得られます。1290297600-15-0-1970-23-24-57

他の時点での結果は次のとおりです。1290384000-15-0-1970-23-26-24

これは奇妙な部分です。unixtimestamp 1290297600 を検索すると、2010 年 11 月 21 日の 00:00:00 gmt のタイムスタンプであることがわかります (1290384000 は翌日の同じ時刻です)
。タイムスタンプは正しいですが、それが私に与える日付を理解できません。
これは、どのブラウザでも発生します。

私は何を間違っていますか?

4

2 に答える 2

2

ここでの問題は、JavaScriptのDateオブジェクトがUnixタイムスタンプ(エポックからの秒数)を取得せず、実際にはエポックからのミリ秒を取得することです。変数に1000を掛けるだけでdate、正しい出力が得られます。

ここの例

于 2010-12-06T21:57:25.377 に答える
0

時間 = Unix タイムスタンプ形式。64800 秒を追加したので、山岳部の標準時間に変換されます。

*タイムスタンプ 24 * 60 * 60

.getTime()//ミリ秒 24 * 60 * 60 * 1000

プライベート DateField dateField1; ///////////////////////

dateField1= new DateField("日付:", DateField.DATE); f.append(dateField1);

日付 d = 新しい日付(); dateField1.setDate(d);

String TimeSeg = String.valueOf(((dateField1.getDate().getTime()/1000)+64800));

于 2011-03-03T06:18:03.313 に答える