Wie konvertiere ich einen Unix-Zeitstempel in JavaScript in ISO 8601?

Lesezeit: 2 Minuten

Vince Lowes Benutzeravatar
Vince Lowe

Ich habe einen Zeitstempel wie diesen 1331209044000 und ich möchte es in einen ISO 8601-Zeitstempel konvertieren. Wie kann ich es mit JavaScript konvertieren?

Ich verwende das jQuery-Plugin „timeago“ – http://timeago.yarp.com/

  • Sehen en.wikipedia.org/wiki/ISO_8601 Weitere Informationen zum Standard finden Sie hier. Ich fürchte, Sie müssen einfach eine Zeichenfolge basierend auf dem erstellen Date Komponenten.

    – Jacob

    12. Okt. 2012 um 22:55 Uhr

  • Das sieht vielversprechend aus: stackoverflow.com/questions/2573521/…

    – Xitalogie

    12. Okt. 2012 um 23:07 Uhr

Benutzeravatar von maerics
maerics

Angenommen, Ihr Zeitstempel ist in Millisekunden angegeben (oder Sie können ihn einfach in Millisekunden umrechnen), dann können Sie den verwenden Date Konstrukteur und das date.toISOString() Methode.

var s = new Date(1331209044000).toISOString();
s; // => "2012-03-08T12:17:24.000Z"

Wenn Sie auf ältere Browser abzielen, die EMCAScript 5th Edition nicht unterstützen, können Sie die in dieser Frage aufgeführten Strategien verwenden: Wie gebe ich eine ISO 8601-formatierte Zeichenfolge in JavaScript aus?

  • Dies ist ECMAScript 5 – Informationen zur Kompatibilität und zum Fallback-Code finden Sie hier: Developer.mozilla.org/en-US/docs/JavaScript/Reference/…

    – Xitalogie

    12. Okt. 2012 um 23:09

  • Vergessen Sie nicht, dass der Unix-Zeitstempel in Sekunden angegeben wird, Javascript jedoch in Millisekunden. So ist es tatsächlich new Date(timestamp * 1000).toISOString();.

    – Josef Kufner

    16. September 2015 um 23:43 Uhr

  • Dieser Kommentar ist für mich in Zukunft: ES MUSS IN MILISEKUNDEN SEIN!

    – Tom Smykowski

    9. September 2020 um 12:06 Uhr

Die Lösung, die ich verwendet habe, dank der bereitgestellten Links

// convert to ISO 8601 timestamp
function ISODateString(d){
    function pad(n){return n<10 ? '0'+n : n}
    return d.getUTCFullYear()+'-'
        + pad(d.getUTCMonth()+1)+'-'
        + pad(d.getUTCDate())+'T'
        + pad(d.getUTCHours())+':'
        + pad(d.getUTCMinutes())+':'
        + pad(d.getUTCSeconds())+'Z'
}

var d = new Date(parseInt(date));
console.log(ISODateString(d));

  • Diese Funktion geht natürlich davon aus, dass das Datum tatsächlich in der Zulu-Zeitzone (GMT+0) liegt.

    – Maerics

    9. Okt. 2014 um 14:37

1452050cookie-checkWie konvertiere ich einen Unix-Zeitstempel in JavaScript in ISO 8601?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy