2011-01-13 20 views
15

Eminim, doğru tarihi elde etmek için JavaScript'teki her Unix zaman damgasına üç sıfır eklemem gerek. Nedenini söyler misin? Epoch vs. saniye cinsinden milisaniye kadar basit mi?JavaScript'te unix zaman damgasını 1000'e neden katmam gerekiyor?

+1

Farklı ölçü birimleri kullandıklarından? – spender

+0

Herkese teşekkürler. Mantıklı bir şey olması gerektiğini biliyordum. Bir sonraki sorumum, yarı tutarsızlık göz önüne alındığında milisaniye ve saniyeler arasındaki tasarım kararlarının ne olabileceği ile ilgili olacaktır. – buley

+0

İlk olarak, yararlı cevaplar vermeden önce, sorunun en iyi çözüldüğü cevabı kabul edersiniz? – Phrogz

cevap

24

Javascript dahili olarak milisaniye kullandığı için, normal UNIX zaman damgaları genellikle saniye cinsindendir.

+0

Bu veri kaybına eşit olmaz mı? Yuvarlama hataları? – Edward

+0

Çarpma bile, hiçbir şey kaybetmemelidir Javascript'in garip-bir-float-is-a-float 'Number' tipi yuvarlama hataları olmadan bunu yapabilmeliyiz.Diğer taraftan Division en azından normal UNIX zaman damgasının ifade edemeyeceği milisaniye kısmını kaybedecek neyse. – deceze

4

Javascript, epoch'tan bu yana geçen milisaniye sayısını kullanır. Unix zaman damgası, epoch'tan bu yana geçen süredir.

Dolayısıyla, gerek JavaScript

3

Unix zaman kullanmadan önce millseconds içine Unix zaman damgasını dönüştürmek için dönemin (1 Ocak 1970) itibaren saniye sayısıdır. Javascript'te, Date nesnesi, çağdan bu yana geçen milisaniye sayısını, dolayısıyla 1000 katlık farkı bekler.

İlgili konular