2014-09-19 100 views
2

在这个问题上我的头靠墙。我如何停止实体框架转换JSON UTC日期时间,当我想存储UTC日期时间

我收到一个文本字符串这与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?

回答

2

如上所述here由于DateTime不存储时区,因此EF将始终读取日期时间值,就好像它是未指定类型一样。考虑使用存储时区的DateTimeOffset。

1

感谢Pawel的提示。为了帮助有这个问题的其他人,请看下面的代码:

New DateTimeOffset("2014-09-19T17:00:00.000Z").ToUniversalTime 
相关问题