用于 GMT 偏移量的 C# DateFormatString



我需要以类似于这样的格式使用一些带有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。其他令牌可以在这里找到。

  • 如果要将该时间读为"转换为本地时间",请使用

    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

相关内容

  • 没有找到相关文章

最新更新