TypeScript项目中的Breeze DataType.parseDateFromServer

时间:2017-07-28 10:49:39

标签: breeze

我在当前项目中使用TempHire Angular 2作为参考架构。我遇到了与下面的Stackoverflow线程完全相同的问题,即由于UTC问题,无法将SQL Server中的日期值保存为用户输入。

breezejs: date is not set to the right time

在我的Angular2 / Typescript项目中,我可以按照上面的URL所述进行更改。我们赞赏Typescript语法。

注意:我已经在项目中包含了momentJs。

1 个答案:

答案 0 :(得分: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();

}

在Angular组件中,MyDatePicker的ondatechanged事件。

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();
}

}

只有这样日期输入才能在SQL Server datetime列中正确存储。