我正在使用System.Text.Json来解析JSON数据。其中包含一个没有任何时间关联的日期字段。解析确实可以工作,我得到了一个日期时间,但是日期时间缺少时区信息,我将其发送到的网关由于缺少时区信息而拒绝它。
我碰巧知道这个默认时区实际上是 GMT+2。问题在于如何在解析过程中强制添加时区信息。
以下是一个简单的示例供您测试:
我有一个带有日期的简单类。
然后我有一个Json字符串。
然后我尝试解析它。
这段代码可以运行,但它没有包含时区信息,有没有一种方法可以指定默认时区?
我碰巧知道这个默认时区实际上是 GMT+2。问题在于如何在解析过程中强制添加时区信息。
以下是一个简单的示例供您测试:
我有一个带有日期的简单类。
public class Testclass
{
public DateTime RecordedDate { get; set; }
}
然后我有一个Json字符串。
var json = "{ \"RecordedDate\": \"2017-11-22\"}";
然后我尝试解析它。
var response = JsonSerializer.Deserialize<Testclass>(json);
这段代码可以运行,但它没有包含时区信息,有没有一种方法可以指定默认时区?
DateTime.Kind
属性。 - Akshay GDateTimeOffset
?https://learn.microsoft.com/en-us/dotnet/api/system.datetimeoffset?view=net-5.0。因为DateTime
没有时区信息。 - Akshay G