【发布时间】:2013-10-01 04:57:59
【问题描述】:
我有一个表格,我在上面为实体设置了开始日期和结束日期。
在 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"
如何确保我的对象中的小时数没有被修改?
编辑:
here 对 javascript 中的日期时间发生了什么有很好的解释。
最后我用这个片段来解决我的问题: 微风.DataType.parseDateFromServer = 功能(来源){ var date = moment(source); 返回日期.toDate(); }; 它覆盖了自己的微风函数,为日期时间添加了一个时间偏移量。
【问题讨论】:
-
请显示一些代码,以便我们了解您所描述的内容。另外,检查这些值,它们看起来并不完全有效。缺少一些数字,格式不标准。此外,没有“本地 GMT”之类的东西。
-
我添加了 .net 代码和更好的示例。对不起第一篇文章,我真的很懒