2017-01-15 1 views
7

Ich erhalte Datum und Uhrzeit von dem REST-API in das unten stehenden FormatFormat Datetime in Typoskript

2016-01-17T:08:44:29+0100 

Ich möchte dieses Datum und Uhrzeit zu formatieren wie

17-01-2016 08:44:29 

Es dd werden soll/mm/jjjj hh: mm: ss

Wie formatiert man das in TypeScript?

+0

reden Sie nur auf UI angezeigt werden, wenn ja, dann ich meine Antwort posten. –

+0

@ YashveerSingh Nein. Ich möchte in Typoskript formatieren, nicht mit Pipes – Protagonist

+0

ok Entschuldigung ich dachte, sonst werde ich meine Antwort entfernen. Lassen Sie mich überprüfen, wie es in Typoskript gemacht wird. –

Antwort

4

können Sie moment.js verwenden. installieren Moment js in Ihrem Projekt

moment("2016-01-17T:08:44:29+0100").format('MM/DD/YYYY'); 

für mehr Formatoption Scheck Moment.format()

+0

Ich kann moment.js – Protagonist

+0

nicht für HTML-Teil verwenden, den Sie mit der Pipe verwenden können

Oder wenn Sie bevorzugen, {{today | Datum: 'fullDate'}}

+0

Ich verwende ein Drittanbietermodul für die Benutzeroberfläche und kann nicht in HTML formatieren. Also muss ich das Format in Typoskript behandeln und es zum Rendern – Protagonist

5

Werfen Sie einen Blick auf this answer

Sie ein new Date("2016-01-17T08:44:29+0100") //removed a colon-Objekt erstellen und dann den Monat bekommen, Tag, Jahr, Stunden, Minuten und Sekunden, indem Sie sie aus dem Objekt Date extrahieren und dann Ihre Zeichenfolge erstellen. Siehe Schnipsel:

var date = new Date("2016-01-17T08:44:29+0100"); // had to remove the colon (:) after the T in order to make it work 
 
var day = date.getDate(); 
 
var monthIndex = date.getMonth(); 
 
var year = date.getFullYear(); 
 
var minutes = date.getMinutes(); 
 
var hours = date.getHours(); 
 
var seconds = date.getSeconds(); 
 
var myFormattedDate = day+"-"+(monthIndex+1)+"-"+year+" "+ hours+":"+minutes+":"+seconds; 
 
document.getElementById("dateExample").innerHTML = myFormattedDate
<p id="dateExample"></p>

Es ist nicht die eleganteste Art und Weise, aber es funktioniert.

+0

Ich erhalte "Object expected" Fehler bei var myFormattedDate = Tag + ........; und ich benutze typescript – Protagonist

+0

Haben Sie versucht, das Snippet auszuführen?Sie müssen auch den ersten Doppelpunkt in Ihrem api-Format loswerden, um ein gültiges Date-Objekt zu erstellen. – John

+0

Sie können den ersten Doppelpunkt entfernen, indem Sie die 'replace()' -Methode verwenden: 'var myStr =" 2016-01 -17T08: 44: 29 + 0100 ".replace (": "," ");' – John

0

Überprüfen Sie, ob dies hilfreich ist.

var reTime = /(\d+\-\d+\-\d+)\D\:(\d+\:\d+\:\d+).+/; 
var originalTime = '2016-01-17T:08:44:29+0100'; 
var newTime = originalTime.replace(this.reTime, '$1 $2'); 
console.log('newTime:', newTime); 

Ausgang:

newTime: 2016-01-17 08:44:29