C#/ JSON.NET反序列化时区问题

时间:2016-09-03 01:56:10

标签: c# json datetime timezone json.net

我有一个Web应用程序,我使用自定义ValueProviderFactory,使用JSON.NET反序列化我的所有值,如下所述:https://json.codeplex.com/discussions/347099,希望利用JSON.NET库的DateTimeZoneHandling。

问题是,我在东海岸有一个用户,但服务器位于西海岸。例如,当东海岸用户选择网站上的时间时,比如说09/02/2016 6:00:00-0400(UTC时间上午10点)。它作为“09/02/2016 10:00:00Z”进入价值提供者工厂,但是,DateTimeZoneHandling(Local,Unspecified,UTC,RoundtripKind)的所有不同选项都不起作用,因为我得到了这些结果:

  1. 本地将其转换为西海岸时间,因为这是服务器所在的位置(凌晨3点)
  2. 未指定将其保留在上午10点
  3. UTC将其保持在上午10点
  4. RoundtripKind也是上午10点
  5. 有没有人知道如何在早上6点保留它,因为这是用户选择的内容?使用默认的MVC ValueProviderFactory基本上给我相同的结果,它要么保存为UTC,要么过早保存3小时。

    我正在尝试避免使用DateTimeOffset,因为我的所有日​​期字段都是DateTime类型。

    非常感谢任何帮助!!

0 个答案:

没有答案