Hannes Weninger: toLocaleString -> Formatieren

Hallo,

ich verwende in meiner Applikation folgendes:

 Date.prototype.toJSON = function () { return this.toLocaleString('de-DE'); }

Damit werden die ganzen js- Dates so formatiert:

"14.5.2016, 23:59:00"

Ich würde aber diese format benötigen:

"2015-10-07T00:00:00.000Z"

Meine Frage wär jetzt, ob es für this.toLocaleString('de-DE'); eine Möglichkeit gibt, dass man das so fomatiert (mit T dazwischen)?

Danke! Hannes

  1. Hallo

    Ich würde aber diese format benötigen:

    "2015-10-07T00:00:00.000Z"

    ob es dazu eine fertige Methode gibt, weiß ich nicht. Ich habe mir den Zeitstring mit den getUTC…-Methoden des Date-Objekts selbst zusammengebastelt. Hier mal ein Auszug aus einem meiner Scripte:

    var trimmNumber = function(n) {
      if(n<10) n = "0" + n;
      return n;
    }var date = new Date();
    gpx += '<time>' +date.getUTCFullYear()+'-'+trimmNumber(date.getUTCMonth()+1)+'-'+trimmNumber(date.getUTCDate())+'T' +trimmNumber(date.getUTCHours())+':'+trimmNumber(date.getUTCMinutes())+':'+trimmNumber(date.getUTCSeconds())+'Z</time>\n';
    
    
    

    Gruß
    Jürgen

  2. Tach!

     Date.prototype.toJSON = function () { return this.toLocaleString('de-DE'); }
    

    Ich würde aber diese format benötigen:

    "2015-10-07T00:00:00.000Z"

    Meine Frage wär jetzt, ob es für this.toLocaleString('de-DE'); eine Möglichkeit gibt, dass man das so fomatiert (mit T dazwischen)?

    Nein, weil das ja keine lokale Formatierung ist. Du bekommst die Formatierung gemäß ISO 8601, indem du es unterlässt, die Methode toJSON() vom Date-Objekt zu überschreiben.

    Wenn du es nicht für JSON brauchst, dann gibt es noch die Methode toISOString(), ggf. mit Polyfill, wenn es auch mit IE kleiner 9 laufen soll.

    dedlfix.