当以下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时间?
答案 0 :(得分:2)
我相信你的意图如下:
private DateTime? date;
public DateTime? Date
{
get
{
if(date != null)
return TimeZoneInfo.ConvertToUtc(date);
return date;
}
}
这将创建一个采用日期格式的 Property ,然后将其转换为有效的UTC格式。但是,如果您需要更多的分钟控制,您将需要重新考虑该方法。您可以找到更多信息here。
希望这就是你实际要求的,如果不是,我会删除答案。