Mam dwie zmienne:konwersji od milisekund do uniksowy znacznik czasu z różnych czasach daje taki sam wynik
tempTimeRequests
timeLastUpdateRequests
Oba są podane w milisekundach od epoki.
jestem obliczu dziwaczne zachowanie od JS:
również wynik mam dla
alert(
tempTimeRequests+"\n"+
timeLastUpdateRequests+"\n"+
Date(tempTimeRequests)+"\n"+
Date(timeLastUpdateRequests)
)
jest
1369063665000
1369063651000
Mon May 20 2013 17:27:51 GMT+0200 (CEST)
Mon May 20 2013 17:27:51 GMT+0200 (CEST)
Jak to mam taką samą wartość w sekundach, jeśli mają wyraźnie 51 sekund na sekundę (co daje właściwy wynik), ale 65 (co dałoby 05 sekund) na pierwszy? Naprawdę to przerażam.
To dziwne. Kiedy wydrukuję je osobno (przy użyciu każdego z plików 'console.log'), otrzymam poprawne wartości. Kiedy łączę je w jedno wywołanie 'console.log', pokazują one tę samą wartość (oczywiście to samo dla' alertu '). – Ian
Jeśli używasz 'nowej daty (', to wydaje mi się, że działa dla mnie – Ian
Z MDN: "wywołanie go jako funkcja regularna (tj. bez 'nowego'operatora) zwróci ciąg znaków, a nie obiekt' Date' ;, więc wydaje się, że jest on zupełnie niezły.Tak też z ES5: http://es5.github.io/# x15.9.2 – Ian