2

我在本地时间为 GMT +6 的区域。现在我怎样才能从我的区域的 json 时间字符串中获取适当的时间。我尝试了以下方法,但它返回一个休息日的日期(前一天)。

public ActionResult DateParser(string date)
{
    string sDate = WrapStringInQuotes(date);
    DateTime dt = JsonConvert.DeserializeObject<DateTime>(sDate); // the dt i want have to be gmt +6
}
public string WrapStringInQuotes(string input)
{
    return @"""" + input + @"""";
}

我在这里尝试寻求帮助,但不明白如何获得合适的日期。

当我在这里转换 json 字符串日期时,它根据我的时区解码日期。

4

1 回答 1

1

您可以使用JsonSerializerSettings来控制日期的处理方式,例如:

var jsonSerializerSettings = new JsonSerializerSettings()
{
     DateTimeZoneHandling = DateTimeZoneHandling.Local
};

var obj = JsonConvert.DeserializeObject<DateTime>(sDate, jsonSerializerSettings);
于 2018-07-12T09:31:46.937 回答