保存更改时,Breeze发送错误的日期值

时间:2014-09-28 21:23:53

标签: javascript date datepicker breeze

我遇到了Breezejs和日期对象的问题。

以下是详细信息:

我的服务器上有这个对象,我正在与客户交换:

public class Transaction{
    ...
    public DateTime? DueDate{get;set;}
    ...
}

客户端正在设置这样的日期(在momentjs的帮助下)

transaction().dueDate(moment(dateString(),"DD-MM-YYYY").toDate());

在下面的内容中,用户将transaction().dueDate设置为26-09-2014。 调试器显示这些字段的值如下:

dateString() = "26-09-2014"
moment(dateString(),"DD-MM-YYYY") = "Fri Sep 26 2014 00:00:00 GMT+0200"
moment(dateString(),"DD-MM-YYYY").toDate() = "Fri Sep 26 2014 00:00:00 GMT+0200"
transaction().dueDate() = "Fri Sep 26 2014 00:00:00 GMT+0200"

到目前为止,这么好。日期设置正确,微风很满意。

问题

将更改保存到服务器时,会发生一些有趣的事情!而不是发送26-09-2014到服务器,Breeze发送25-09-2014而不是!

顺便说一下,我正在使用Breeze 1.4.11

编辑 - 解决方案

在阅读了几篇关于“好”视觉日期处理在不同浏览器中的文章之后,我想到在创建日期对象时指定mommentjs的本地时区如下:

transaction().dueDate(moment(dateString(),"DD-MM-YYYY Z").toDate());
                                                      ^ 

这似乎解决了这个问题。

为什么在保存更改时breeze更改日期值的问题仍然没有答案。

0 个答案:

没有答案