Ich zeige das Datum und die Uhrzeit so an
24-Nov-2009 17:57:35
Ich möchte es in einen Unix-Zeitstempel konvertieren, damit ich ihn leicht manipulieren kann. Ich müsste regex verwenden, um jeden Teil der Zeichenfolge abzugleichen, und dann den Unix-Zeitstempel daraus berechnen.
Ich bin schrecklich mit Regex, aber ich habe mir das ausgedacht. Bitte schlagen Sie Verbesserungen vor ^. ^
/((\d){2}+)-((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)+)-((\d){4}+) ((\d){2}+):((\d){2}+):((\d){2}+)/gi
Wie kann ich das machen?
Wenn Sie nur eine gute Datums-Parsing-Funktion benötigen, würde ich nach date.js suchen. Es dauert so gut wie jede Datumszeichenfolge, die Sie darauf werfen können, und gibt Ihnen ein JavaScript-Date-Objekt zurück.
Sobald Sie ein Date-Objekt haben, können Sie die getTime () -Methode aufrufen, die seit dem 1. Januar 1970 Millisekunden liefert. Teilen Sie das Ergebnis einfach durch 1000, um den Unix-Zeitstempelwert zu erhalten.
Fügen Sie im Code einfach date.js ein und dann:
var unixtime = Date.parse("24-Nov-2009 17:57:35").getTime()/1000
Scheint so, als ob getTime
nicht über der Antwort funktioniert.
Date.parse(currentDate)/1000
Sie können die Funktion Date.getTime()
oder das Date
-Objekt selbst verwenden, das beim Teilen die Zeit in Millisekunden zurückgibt.
var d = new Date();
d/1000
> 1510329641.84
d.getTime()/1000
> 1510329641.84
Mit einem Datumsauswahlfeld und einem Zeitauswahlfenster erhalte ich zwei Variablen. So füge ich sie im Unixtime-Format zusammen und ziehe sie dann heraus ...
let datetime = oDdate+' '+oDtime;
let unixtime = Date.parse(datetime)/1000;
console.log('unixtime:',unixtime);
es zu beweisen:
let milliseconds = unixtime * 1000;
dateObject = new Date(milliseconds);
console.log('dateObject:',dateObject);
genießen!