Ich habe einen Unix-Zeitstempel und versuche, ihn in ein Kalenderdatum wie z MM/DD/YYYY
. Bisher habe ich Folgendes:
$(document).ready(function() {
var value = $("#unixtime").val(); //this retrieves the unix timestamp
var dateString = moment(value).calendar();
alert(dateString);
});
Wenn ich versuche, das Kalenderdatum auszudrucken, wird im Fenster "Ungültiges Datum" angezeigt. Kann mir jemand helfen?
javascript
datetime
momentjs
Andrew
quelle
quelle
calendar
Funktion ist nett ( Dokumente hier ), aber nicht in dem Format, das das OP angefordert hat.monent(number)
erwartet einen Unix - Zeitstempel in milli Sekunden (die mit dem übereinstimmtDate
Objekt), während der Unix - Zeitstempel in Sekunden standardmäßig ist. Sie könnten also auchmoment(value*1000)
stattdessen tunmoment.unix(value)
, aber die Verwendungunix
ist klarer.UNIX-Zeitstempel ist die Anzahl der Sekunden ab 1970, daher müssen Sie ihn in ein JS-Datumsobjekt konvertieren:
quelle
Moment.js bietet lokalisierte Formate, die verwendet werden können.
Hier ist ein Beispiel:
quelle
quelle
Nur es,
quelle
Könnte etwas spät sein, aber für neue Probleme wie dieses verwende ich diesen Code:
Sie können das Format an Ihre Bedürfnisse anpassen und eine Zeitzone wie die folgende hinzufügen:
quelle
x
für den MS Unix-Zeitstempel. Dokumentation hierIch habe es wie in diesem Beispiel behoben.
quelle
Es gibt einen strengen Modus und einen Vergebungsmodus .
Während der strikte Modus in den meisten Situationen besser funktioniert, kann der Vergebungsmodus sehr nützlich sein, wenn das Format der Zeichenfolge, die an den Moment übergeben wird, variieren kann.
In einer späteren Version verwendet der Parser standardmäßig den strengen Modus. Im strengen Modus muss die Eingabe auf den Moment genau dem angegebenen Format entsprechen, einschließlich Trennzeichen. Der strikte Modus wird festgelegt, indem true als dritter Parameter an die Momentfunktion übergeben wird.
Ein häufiges Szenario, in dem der Vergebungsmodus nützlich ist, ist in Situationen, in denen eine Drittanbieter-API das Datum bereitstellt und sich das Datumsformat für diese API ändern kann. Angenommen, eine API sendet zunächst Daten im Format "JJJJ-MM-TT" und wechselt später in das Format "MM / TT / JJJJ".
Im strengen Modus führt der folgende Code dazu, dass "Ungültiges Datum" angezeigt wird:
Im Vergebungsmodus mit einer Formatzeichenfolge erhalten Sie ein falsches Datum:
Ein anderer Weg wäre
quelle
Diese Funktion erstellt ein Datum aus dem Zeitstempel:
quelle
quelle
quelle