5

私はについて何かを理解しようとしていますgetTime()、私の問題は、私が言うことができる新しい日付を設定しているということです:23,07,2012。私がそれを使用しているとき、私は01,01,1970getTime()以来のミリ秒を取得する必要があります。 取得した値を(1000 * 60 * 60 * 24)で割ると、1970年1月1日から2012年7月5日までの経過日数を取得する必要がありますが、どういうわけか小数点付きの数値(15543.875)を取得します。 理由がわかりません。つまり、1970年1月1日と2012年7月23日以降です。getTime()私は整数(私が思うこと)を取得する必要があります、私は本当に間違っていることを知っています、誰かが結果の小数点の理由を理解するのを手伝ってくれませんか?

4

1 に答える 1

4

次のような日付を設定する場合new Date(2012, 06, 23)は、クライアントのタイムゾーンに応じて設定され.getTime()ますUTC。あなたが欲しいDate.UTC

Date.UTC(2012,6,23) / (1000*60*60*24)
//15544 For any computer

new Date(2012, 06, 23) / (1000*60*60*24)
//15543.875 For my computer, I am coincidentally in  the same timezone as Israel. This result will depend on what timezone the client is.
于 2012-07-19T12:07:20.723 に答える