繁体   English   中英

C#DateFormatString用于GMT偏移量

[英]C# DateFormatString for GMT offset

我需要使用一些类似于DateTime数据的JSON格式:

Tue Jun 11 00:00:00 +0100 2019

我相信+0100是格林尼治标准时间的偏移量(+0100是英国夏令时)。 我正在使用C#newtonsofts JsonConvert反序列化它。 例如

List<Staff_Extra> staff_Extras = JsonConvert.DeserializeObject<List<Staff_Extra>>(jStaffExtra.ToString(), new JsonSerializerSettings
{
    DateFormatString = "ddd MMM dd hh:mm:ss yyyy" 
});

由于偏移量,这将引发异常。 DateFormatString应该如何考虑此偏移量?

示例代码https://www.newtonsoft.com/json/help/html/DeserializeDateFormatString.htm

zzz区令牌部分添加zzz 其他令牌可以在这里找到。

  • 如果您想以“ 转换为本地时间”的方式读取该时间 ,请使用

    DateTime.ParseExact(test, "ddd MMM dd hh:mm:ss zzz yyyy", null);

    它将返回该时间为6/10/2019 5:00:00 PM (我在美国文化的MDT中)

  • 如果要将该时间作为本地时间读取并保留原始时区 ,请使用

    DateTimeOffset.ParseExact(test, "ddd MMM dd hh:mm:ss zzz yyyy", null);

    这会将时间返回为6/11/2019 12:00:00 AM +01:00 (保留时区偏移量)

  • 如果要将其读取为本地时间,而忽略时区偏移量 ,请使用:

    DateTimeOffset.ParseExact(test, "ddd MMM dd hh:mm:ss zzz yyyy", null).DateTime;

    该时间将返回为6/11/2019 12:00:00 AM

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM