2017-07-28 8 views
0

Ich verwende TempHire Angular 2 als Referenzarchitektur in meinem aktuellen Projekt. Ich habe das gleiche Problem wie im folgenden Stackoverflow-Thread, d. H. Es ist nicht möglich, den Datumswert im SQL-Server als Eingabe durch den Benutzer aufgrund des UTC-Problems zu speichern.Breeze DataType.parseDateFromServer im TypeScript-Projekt

breezejs: date is not set to the right time

In meinem Angular2/Typoskript Projekt, wo ich die Änderungen machen kann, wie in der oben genannten URL beschrieben. Typescript-Syntax wird geschätzt.

Hinweis: Ich habe Moments in mein Projekt aufgenommen.

Antwort

0

Bitte beachten Sie. https://github.com/Breeze/temphire.angular/issues/12

Wenn jemand ähnliche Anforderungen hat, habe ich das folgende getan.

Innen prepare() { ......... ......... DataType.parseDateFromServer = this.parseDateAsMoment; ......... ......... }

parseDateAsMoment (Quelle: any): Datum {

var date = moment.utc(source, 'YYYY-MM-DD HH-mm-ss');   
return date.toDate(); 

}

In Angular Komponente , ondatechanged-Ereignis von MyDatePicker.

onDateFromChanged (event: IMyDateModel) {

if (event.formatted !== '') { 


    var newDate = moment.utc(new Date(event.jsdate).toLocaleDateString()).format('YYYY-MM-DD HH-mm-ss') 
    var newDate2 = moment.utc(newDate, 'YYYY-MM-DD HH-mm-ss'); 
    this.model.dateFrom = newDate2.toDate(); 
} 

}

Erst dann werden die Datumseingabe speichert korrekt in SQL Server Datetime-Spalte.

Verwandte Themen