我有一个表格,我在上面为实体设置了开始日期和结束日期。
在 Web Api 方面,在将日期保存到数据库之前,我将开始日期:2013-09-25 00:00:00.000
和结束日期设置为2013-09-26 23:59:59.000
.
var vote = (VotingSet)Entity;
vote.Start = new DateTime(vote.Start.Year, vote.Start.Month, vote.Start.Day, 0, 0, 0, 0);
vote.End = new DateTime(vote.End.Year, vote.End.Month, vote.End.Day, 23, 59, 58);
这是来自发送到其余服务的 JSON,如下所示:
- 开始:
"2013-09-25T00:00:00.000Z"
- 结尾:
"2013-09-26T00:00:00.000Z"
保存后,在 javascript 客户端中,使用新密钥和来自服务器的属性更新实体。
可观察的日期对象将具有以下值
- 开始时间:2013 年 9 月 25 日星期三 03:00:00 GMT+0300(GTB 夏令时间)
- 结束:2013 年 9 月 27 日星期五 02:59:58 GMT+0300(GTB 夏令时间)
这就是我从服务器返回的
- 开始:
"2013-09-25T00:00:00.000"
- 结尾:
"2013-09-26T23:59:58.000"
我如何确保我的对象中的时间没有被修改?
编辑:
这里有一个很好的解释,关于 javascript 中的日期时间发生了什么。
最后我用这个片段来解决我的问题:breeze.DataType.parseDateFromServer = function (source) { var date = moment(source); 返回日期.toDate(); }; 它通过向日期时间添加时间偏移来覆盖微风自己的功能。