Wahrscheinlich und einfache Antwort darauf, aber ich kann anscheinend keinen Weg finden, moment.js dazu zu bringen, eine UTC-Datums- und Uhrzeit in Millisekunden zurückzugeben. Folgendes mache ich:
var date = $("#txt-date").val(),
expires = moment.utc(date);
Irgendeine Idee, was ich falsch mache?
javascript
momentjs
user1956816
quelle
quelle
.utc()
.format()
die den UTC-Wert ausgibt . Es kann nicht das interne Datum Wert selbst ändern, weil einDate
bereits einen UTC - Zeitstempel - Tracking. Es sind immer nur die aufgerufenen Methoden, die bestimmen, ob UTC oder Ortszeit ausgegeben werden sollen. Der Moment ist in dieser Hinsicht der gleiche.Ich benutze diese Methode und es funktioniert. ValueOf funktioniert bei mir nicht.
quelle
Ab:
moment.js version 2.24.0
Angenommen , Sie haben eine lokale Datumseingabe. Dies ist die richtige Methode , um Ihre dateTime- oder Time- Eingabe in zu konvertieren UTC :
oder falls Sie ein Datum angeben
Wie Sie sehen können, wird die Ergebnisausgabe in UTC zurückgegeben:
Aber wenn Sie dies wie unten tun, ist es folgt nicht in UTC konvertiert:
Sie stellen Ihre Eingabe nur auf utc time ein. Es ist, als würden Sie erwähnen, dass myTime in UTC ist. Die Ausgabe erfolgt um 9:00 Uhr
quelle
ist der Weg zu gehen, da
verhält sich komisch ...
quelle
moment().utc(date).format(...)
?moment.utc(date)
dient zum Parsen desdate
. Die zweitemoment().utc(date)
dient zum Manipulieren der aktuellen Zeit (moment()
) und derdate
Parameter ist nutzlos, da.utc()
in diesem Fall keine Parameter erwartet werden.Wenn alles andere fehlschlägt, initialisieren Sie einfach mit einer Umkehrung Ihres lokalen Offsets neu.
quelle
keepOffset
Parameters auf true, wie inmoment(timestamp).toISOString(true)
,Hier übergebe ich das Datumsobjekt und konvertiere es in UTC-Zeit.
quelle
Dies wird die Antwort sein:
quelle
Lesen Sie diese Dokumentation von moment.js hier . Siehe Beispiel und Ausgabe, in der ich die GMT-Zeit in die Ortszeit konvertiere (meine Zone ist IST) und dann die Ortszeit in GMT konvertiere.
Ausgabe ist
quelle
Benötigen Sie nichts zum Vergleichen und Abrufen der Millisekunden?
Zum Beispiel:
Damit haben Sie das Ablaufdatum in UTC. Jetzt können Sie das "Sofort" -Datum in UTC abrufen und vergleichen:
quelle
moment.valueOf()
und(new Date()).getTime()
beide geben die Millisekunden seit dem 1. Januar 1970 UTC zurück (es ist ein Standard)