2016-03-24 16 views
1

Ich erhalte zwei Arten von Datum, Sekunden und Millisekunden, für die ich versuche, in ein Datum zu konvertieren.MomentJS Umwandlung EPOC Millisekunde bis heute

Seconds:  1458820878062 
Milliseconds: 1458823059491000 

Ich kann sekundenschnell über konvertieren:

function convertToDate() { 

    var date = 1458820878062; 

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

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

} 

Wie kann ich konvertieren Millisekunden auf ein Datum? Und wenden Sie die notwendige Konvertierung auf welches Datum auch immer an?

Etwas entlang der Linien von:

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

Antwort

1

du versuchen können.

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

dh, Sie müssen um 1000 die Millisekunden teilen die Zeit in Sekunden zu bekommen und dann können Sie benutze es.

+0

Danke, wie kann ich Länge Datum überprüfen .. versucht haben: if (Date.toString() Länge = 13.) {Aber Fehler Typeerror erhalten: Kann nicht abtreten nur Eigenschaft ‚Länge‘ der Zeichenfolge lesen –

+0

@OamPsy: - "Prüfe Länge des Datums" ... was willst du damit machen? –

+0

Weil einige Male in Sekunden sind. Wenn ich/1000 auf ein zweites Format anwende, würde es zu 145882087.8062 werden, daher möchte ich nur/1000 in Millisekunden. –

-1

Wie wäre es mit nur if(data > 1e13)?

0

Moment unterstützt beide Vorgänge sofort.

Wenn Sie Sekunden haben, verwenden Sie moment.unix:

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

Wenn Sie Millisekunden haben, nur direkt in dem Moment Konstruktor verwenden:

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

die Unix-Sekunden von einem Moment zu erhalten, verwenden :

moment().unix() 
1458856086 

die Unix-Millisekunden von einem Moment zu erhalten, verwenden Sie:

moment().valueOf() 
1458856019742