2012-03-30 52 views
0

我有兩個變量。 weekStartDate和startDate。他們基本上都持有相同的時間戳:Date.getTime()給出相同時間戳的兩個不同值

this.startDate Date {Mon Mar 26 2012 00:00:00 GMT+0530 (IST)} 
this.weekStartDate Date {Mon Mar 26 2012 00:00:00 GMT+0530 (IST)} 

的問題是:當我嘗試的getTime(),他們表現出略微不同的值:

this.startDate.getTime() 1332700200000 
this.weekStartDate.getTime() 1332700200506 

我怎樣才能解決這一問題?

+2

用戶'this.weekStartDate.setMilliseconds(0)'。 – Pointy 2012-03-30 14:14:12

+0

你能展示你如何實例化它們嗎? – Nik 2012-03-30 14:18:00

回答

5

區別是506毫秒。當您在Date對象上調用toString()時,不會顯示毫秒數,因此除非您比較數值,否則比秒更精確的任何內容都會被忽略。

到毫秒重置爲0,使用方法:

this.weekStartDate.setMilliseconds(0); 
+0

是的。爲什麼?當兩個時間戳完全一樣?爲什麼會有差異? – amit 2012-03-30 14:15:26

+0

@amit他們不完全一樣 - 問題是你只能看到數字時間戳表示的差異。 – 2012-03-30 14:16:53

+1

他們不完全一樣。 weekStartDate是基於當前的日期和時間,對嗎?該日期對象的毫秒數不會被重置,因此顯示出506毫秒的差異。 – 2012-03-30 14:19:19

2

我認爲毫秒是不同的。設置boths日期到零毫秒,則該日期將是相同的:

this.weekStartDate.setMilliseconds(0); 
this.startDate.setMilliseconds(0); 

編輯:該死的,我是慢

相關問題