2016-03-24 21 views
1

Bir tarihe dönüştürmeye çalıştığım iki tür tarih, saniye ve milisaniye alırım.MomentJS Şu tarihe kadar EPOC milisaniyesinin dönüştürülmesi

Seconds:  1458820878062 
Milliseconds: 1458823059491000 

ben yoluyla saniye dönüştürebilirsiniz:

function convertToDate() { 

    var date = 1458820878062; 

    var m = moment.utc(date).utcOffset(moment().format('ZZ')); 

    return m.format('DD-MM-YY HH:mm:ss.SSS'); 

} 

Nasıl dönüştürebilirsiniz milisaniye bir tarihe de? Ve hangi tarih olursa olsun gerekli dönüşümü uygulayın? Bu deneyebilirsiniz

if(date.length = 13) { 
    // Do seconds conversion 
if(date.length > 13) { 
    // Do milliseconds conversion 

cevap

1

: çizgisinde

şey.

moment("/Date(1458823059491000/1000)/") 

yani saniyeler içinde saati almak için 1000 ile milisaniye bölmek gerekir ve daha sonra yapabilirsiniz kullan.

+0

sayesinde i tarihten uzunluğunu kontrol nasıl .. çalıştık: if (date.toString() uzunluğu = 13.) {Ancak hata TypeError olsun: dize –

+0

tek özellik 'uzunluğunu' okumak atanamıyor @OamPsy: - 'Tarihin uzunluğunu kontrol et… bununla ne yapmak istiyorsun? –

+0

Çünkü bazı zamanlar saniye cinsindendir. Eğer/1000 i ikinci bir forma uygularsam 145882087.8062 olur, bu yüzden milisaniyede sadece 1000/1000 istiyorum. –

-1

if(data > 1e13)'u nasıl kontrol edersiniz?

0

Moment, her iki işlemi de kutudan çıkarır.

moment(1458856019742).format() 
"2016-03-24T16:46:59-05:00" 

bir an, kullanımından Unix saniye almak için: Eğer milisaniyede varsa

moment.unix(1458855925).format() 
"2016-03-24T16:45:25-05:00" 

, sadece doğrudan an yapıcısı kullanın: Eğer saniye varsa

, moment.unix kullanmak :

moment().unix() 
1458856086 

bir andan itibaren unix milisaniye almak için, kullanım:

moment().valueOf() 
1458856019742 
İlgili konular