2017-07-28 195 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列。

相关问题