2016-04-26 11 views
3

Ich finde keinen schönen Weg, um einen DateTimeOffset Wert zu JavaScript (angular2) zu bekommen. Ich verwende WebApi (5.2.3) und angular2. Auf dem Draht sehe ich das Datum wie folgt:ASP.NET WebApi DateTimeOffset serialisieren nach JSON/JavaScript (angular2)

RecordModifiedAt : "2016-03-08T17:27:11.9975483+01:00" 

JavaScript/angular2 nicht diese als gültige Datetime-Wert erkennt.

ich Möglichkeiten habe, aber in welche Richtung ich gehen sollte:

  • Seite Server: Newtonsoft.Json, ...
  • Client-Seite: angular2, ...
  • Andere?

Vielen Dank für Ihre Hilfe!

+0

Aber wenn Sie 'neues Datum verwenden ("2016-03-08T17: 27: 11,9975483 + 01: 00")', erhalten Sie ein gültiges Datum Objekt in JavaScript mit der richtigen Uhrzeit und Datum – PierreDuc

+0

Thankx PierreDuc. Siehe Antwort für weitere Informationen. – iwhp

Antwort

4

Thankx zu PierreDuc Feedback Ich habe um gespielt und ich kam zu folgendem Schluss:

Da JSON, keinen Date Datentyp unterstützt Ich gehe davon aus man die Umwandlung auf der Client-Seite zu machen hat. Ich benutze das folgende 'Muster' (siehe http://codegur.com/36681078/angular-2-date-deserialization):

getTags() { 
    return this.http.get('/api/tag/getAll') 
     .map((response: Response) => this.convertData(response)); 
} 

private convertData(response: Response) { 
    var data = response.json() || []; 
    data.forEach((d) => { 
     // Convert to a Date datatype 
     d.RecordModifiedAt = new Date(d.RecordModifiedAt); 
    }); 
    return data; 
} 
+0

danke für das Teilen. Es hat sehr geholfen. –

Verwandte Themen