在这个问题上我的头撞墙。
我收到一个用json生成的Web服务的文本字符串,例如:
"2014-09-19T17:00:00.000Z"
当我在实体框架中将其分配给我的数据库时,它将其更改为20:00而不是17:00。所以我指定它是UTC日期
DateTime.SpecifyKind("2014-09-19T17:00:00.000Z", DateTimeKind.UTC)
但这也会在20:00返回!我可以通过删除Z来解决这个问题,但这是一个肮脏的解决方法,可能是接收时区而不是Z.有没有办法设置告诉vb忽略时区并将其保存为17:00?
答案 0 :(得分:2)
如上所述here EF将始终读取日期时间值,就好像它是未指定类型的,因为DateTime不存储时区。考虑使用存储时区的DateTimeOffset。
答案 1 :(得分:1)
感谢Pawel提示。要帮助其他人解决此问题,请参阅以下代码:
New DateTimeOffset("2014-09-19T17:00:00.000Z").ToUniversalTime