时区偏移被忽略

时间:2015-05-11 03:32:19

标签: c# datetime asp.net-web-api json.net

当以下setter在json字符串中收到endDate="2015-05-01T00:00:00+08:00"时,时区偏移量将丢失,值为2015-05-01T00:00:00。当偏移丢失时,我需要将日期调整为UTC。

使用JSON.NET

在WebAPI Formatter中自动反序列化对象
private DateTime? _endDate;
public DateTime? endDate
{
    get {
        //...
    }
    set { _endDate = value; }
}

出了什么问题,或者我怎样才能获得UTC时间?

1 个答案:

答案 0 :(得分:2)

我相信你的意图如下:

private DateTime? date;
public DateTime? Date
{
     get
     {
          if(date != null)
               return TimeZoneInfo.ConvertToUtc(date);

          return date;           
     }
}

这将创建一个采用日期格式的 Property ,然后将其转换为有效的UTC格式。但是,如果您需要更多的分钟控制,您将需要重新考虑该方法。您可以找到更多信息here

希望这就是你实际要求的,如果不是,我会删除答案。