it-swarm.com.de

Datum und Uhrzeit in Unix-Zeitstempel konvertieren

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?

54
Ben Shelock

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
85
Ian Clelland

Scheint so, als ob getTime nicht über der Antwort funktioniert.

Date.parse(currentDate)/1000
56
chovy

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
4
Xeoncross

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!

0
David White