Kann ich das ISO-Datum in Millisekunden konvertieren? Zum Beispiel möchte ich diese ISO konvertieren
2012-02-10T13:19:11+0000
in Millisekunden.
Weil ich das aktuelle Datum mit dem Erstellungsdatum vergleichen möchte. Das Erstellungsdatum ist ein ISO-Datum.
javascript
iso
isodate
Robin Carlo Katakutan
quelle
quelle
1328796537
, aber in FB Api wird das Datum in2012-02-10T13:18:45+0000
date1.getTime() - date2.getTime()
- es ist alles, was Sie brauchenAntworten:
Versuche dies
var date = new Date("11/21/1987 16:00:00"); // some mock date var milliseconds = date.getTime(); // This will return you the number of milliseconds // elapsed from January 1, 1970 // if your date is less than that date, the value will be negative console.log(milliseconds);
BEARBEITEN
Sie haben ein ISO-Datum angegeben. Es wird auch vom Konstruktor des
Date
Objekts akzeptiertvar myDate = new Date("2012-02-10T13:19:11+0000"); var result = myDate.getTime(); console.log(result);
Bearbeiten
Das Beste, was ich gefunden habe, ist, den Offset manuell zu entfernen.
var myDate = new Date("2012-02-10T13:19:11+0000"); var offset = myDate.getTimezoneOffset() * 60 * 1000; var withOffset = myDate.getTime(); var withoutOffset = withOffset - offset; console.log(withOffset); console.log(withoutOffset);
Scheint zu funktionieren. Bei Problemen mit der Konvertierung von ISO-Zeichenfolgen in das
Date
Objekt können Sie auf die bereitgestellten Links verweisen.BEARBEITEN
Der Fehler mit falscher Konvertierung in Millisekunden gemäß dem Kommentar von Prasad19sara wurde behoben.
quelle
var myDate = new Date("2012-02-10T13:19:11+0000");
Eine Abkürzung der vorherigen Lösungen ist
var myDate = +new Date("2012-02-10T13:19:11+0000");
Es führt eine direkte Konvertierung durch und gibt das Datum direkt im Millisekundenformat aus.
Eine andere Möglichkeit ist die Verwendung der Parse-Methode von Date util, bei der die EPOCH-Zeit nur in Millisekunden ausgegeben wird.
var myDate = Date.parse("2012-02-10T13:19:11+0000");
quelle
+new Date()
Gibt1447857230137
die Zeit in Millisekunden zurück.const dateMillis = Number(new Date('2017-09-26T20:24:18.801Z'))
, abernew Date('2017-09-26T20:24:18.801Z').getTime()
odernew Date('2017-09-26T20:24:18.801Z').valueOf()
ist noch besser lesbar.Eine weitere Option ab 2017 ist die Verwendung
Date.parse()
. In der Dokumentation von MDN wird jedoch darauf hingewiesen, dass es vor ES5 unzuverlässig ist.var date = new Date(); // today's date and time in ISO format var myDate = Date.parse(date);
Siehe die Geige für weitere Details.
quelle
Eine weitere mögliche Lösung ist mit dem aktuellen Datum zu vergleichen
January 1, 1970
, können Sie sichJanuary 1, 1970
durchnew Date(0)
;var date = new Date(); var myDate= date - new Date(0);
quelle
Ja, Sie können dies in einer einzigen Zeile tun
let ms = Date.parse('2019-05-15 07:11:10.673Z'); console.log(ms);//1557904270673
quelle
Eine andere Lösung könnte darin bestehen, den Number-Objekt-Parser wie folgt zu verwenden:
let result = Number(new Date("2012-02-10T13:19:11+0000")); let resultWithGetTime = (new Date("2012-02-10T13:19:11+0000")).getTime(); console.log(result); console.log(resultWithGetTime);
Dies wird wie
getTime()
bei einemDate
Objekt in Millisekunden konvertiertquelle
var date = new Date() console.log(" Date in MS last three digit = "+ date.getMilliseconds()) console.log(" MS = "+ Date.now())
Damit können wir das Datum in Millisekunden erhalten
quelle
var date = neues Datum (date_string); var Millisekunden = date.getTime ();
Das hat bei mir funktioniert!
quelle
Wenn Sie das UTC-Datum in eine Millisekunden-
Syntax konvertieren möchten: Date.UTC (Jahr, Monat, Tag, Stunden, Min., Sek., Milisec);
z.B :
date_in_mili = Date.UTC(2020, 07, 03, 03, 40, 40, 40);
console.log('miliseconds', date_in_mili);
quelle
Für den Fall, wenn jemand will nur die Uhrzeit von einem ISO-Datum , ist Folgendes hilfreich. Ich habe danach gesucht und konnte keine Frage dafür finden. Für den Fall, dass jemand sieht, wird dies hilfreich sein.
let isoDate = '2020-09-28T15:27:15+05:30'; let result = isoDate.match(/\d\d:\d\d/); console.log(result[0]);
Die Ausgabe ist die einzige Zeit von isoDate, die ist,
15:27
quelle