2012-07-19 13 views
5

Sto cercando di capire qualcosa di getTime(), mio problema è che, Sto installando un nuovo Data con consente di dire: 23,07,2012. Quando sto usando getTime() su di esso dovrei ottenere i millisecondi dal 01,01,1970. Quando divido il valore ho ottenendo da getTime() con (1000 * 60 * 60 * 24) dovrei ottenere il numero di giorni è stato passare dal 01,01,1970 fino 05,07,2012 ma in qualche modo ottenere un numero con un punto decimale (15.543,875) Non capisco perché, voglio dire dal momento 01,01,1970 e 23,07,2012 dovrei ottenere un numero intero (quello che penso), so bene Ho davvero torto, se qualcuno può aiutarmi a capire perché il punto decimale al risultato.Javascript, getTime()

risposta

4

Se si imposta una data come new Date(2012, 06, 23), verrà impostata in base al fuso orario del client, dove come .getTime() è UTC. Si vuole 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. 
+0

grazie esailija può si prega di caricare un codice che mostra resoult del mio fuso orario ma l'devide UTC fuso orario con (1000 * 60 * 60 * 24) siccome il link non funziona e non posso scrivere il codice giù il suo non funzionante mabye non ti avevo ragione quindi se puoi per favore caricare grazie. –

+0

@uBlankText tutto il codice necessario è nella mia risposta. Mostrami il tuo codice non funzionante qui: http://jsfiddle.net/ – Esailija

+0

Grazie darò un'occhiata. –

Problemi correlati