Ich möchte Datum in Zeitstempel konvertieren, meine Eingabe ist 26-02-2012
. ich benutzte
new Date(myDate).getTime();
Es heißt NaN .. Kann jemand sagen, wie man das konvertiert?
javascript
date
time
selladurai
quelle
quelle
Date(myDate).getTime()
(was Sie als Code markiert haben) verwendet oder soll das Wort "neu" vorher Teil des Codes sein? Je mehr Aufwand Sie betreiben, desto besser werden die Antworten sein.Antworten:
Aktualisieren:
DEMO (Getestet in Chrome, FF, Opera, IE und Safari).
quelle
NaN
. In Safari müssen Sie den anderen möglichen Konstruktornew Date(year, month, day);
für dieses Beispiel verwenden:new Date(myDate[2], myDate[1], myDate[0]);
YYYY-MM-DD
) zu konvertieren , das garantiert verstanden wirdDate()
und im Allgemeinen das interoperabelste Format für Datumszeichenfolgen ist.new Date(newDate).getTime()
Erzeugt einen Zeitstempel in Millisekundenauflösung.Math.floor(new Date(newDate).getTime() / 1000)
Probieren Sie diese Funktion aus, sie verwendet die Date.parse () -Methode und erfordert keine benutzerdefinierte Logik:
quelle
quelle
Dieser überarbeitete Code wird es tun
Dies funktioniert auf allen modernen Browsern außer ie8-
quelle
Hier gibt es zwei Probleme. Erstens können Sie getTime nur an einer Instanz des Datums aufrufen. Sie müssen ein neues Datum in Klammern setzen oder es einer Variablen zuweisen.
Zweitens müssen Sie ihm eine Zeichenfolge in einem geeigneten Format übergeben.
Arbeitsbeispiel:
quelle
Sie müssen nur Ihre Datumsziffer umkehren und ändern
-
mit,
:In deinem Fall:
Das Gebietsschema von PS UK spielt hier keine Rolle.
quelle
Number
von Zeichenfolgen, die mit a beginnen,0
ist bei einigen Engines problematisch. VerwendenparseInt
und spezifizieren Sie einen Radix.quelle
Um das (ISO-) Datum in einen Unix-Zeitstempel umzuwandeln , erhielt ich einen Zeitstempel, der 3 Zeichen länger als nötig war, sodass mein Jahr ungefähr 50.000 ...
Ich musste es um 1000 teilen:
new Date('2012-02-26').getTime() / 1000
quelle
Für diejenigen, die einen lesbaren Zeitstempel im Format haben möchten,
yyyymmddHHMMSS
Anwendungsbeispiel: eine Sicherungsdateierweiterung.
/my/path/my.file.js.20190220
quelle
Falls Sie hierher gekommen sind, um nach dem aktuellen Zeitstempel zu suchen
TLDR:
quelle
Ihre Zeichenfolge hat nicht das Format, für das das
Date
Objekt angegeben ist . Sie müssen es selbst analysieren, eine Datumsanalysebibliothek wie MomentJS oder die ältere (und soweit ich das nicht beurteilen kann) DateJS verwenden oder sie in das richtige Format (z. B. ) einmassieren ,2012-02-29
bevor Sie sieDate
analysieren möchten .Warum Sie erhalten
NaN
: Wenn Sienew Date(...)
nach einer ungültigen Zeichenfolge fragen , wird einDate
Objekt zurückgegeben, das auf ein ungültiges Datum festgelegt ist (new Date("29-02-2012").toString()
Rückgabe"Invalid date"
). Das AufrufengetTime()
eines Datumsobjekts in diesem Status wird zurückgegebenNaN
.quelle
Date
gehe davon aus, dass das Objekt dadurch nicht verändert wird (was nichts mit dem DOM zu tun hat).quelle
Die Antworten wurden von anderen Entwicklern bereitgestellt, aber auf meine eigene Weise können Sie dies im laufenden Betrieb tun, ohne eine benutzerdefinierte Funktion wie folgt zu erstellen:
quelle