2017-07-28 196 views
0

我在當前項目中使用TempHire Angular 2作爲參考架構。我遇到了與以下Stackoverflow線程相同的問題,即由於UTC問題導致無法將用戶輸入的SQL服務器中的日期值保存。Breeze TypeScript項目中的DataType.parseDateFromServer

breezejs: date is not set to the right time

在我Angular2 /打字稿項目,如上面的URL描述在那裏我可以做的修改。歡迎使用Typescript語法。

注:我已經在我的項目中加入了momentJs。

回答

0

請參閱。 https://github.com/Breeze/temphire.angular/issues/12

如果有人有類似的要求,我已經做了以下。

內部製備() { ......... ......... DataType.parseDateFromServer = this.parseDateAsMoment; ......... ......... }

parseDateAsMoment(來源:任何):日期{

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

}

在角部件,MyDatePicker的ondatechanged事件。

onDateFromChanged(事件: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(); 
} 

}

只有這樣的日期輸入正確保存在SQL Server中datetime列。

相關問題