C#JSON toObject在日期和月份之间切换

时间:2019-03-05 21:11:01

标签: c# datetime json.net

我从后端得到一个格式化的字符串,看起来像这样: 2019-03-06T18:06:00

我可以在包含的代码的第一行中通过调试确认这一点。

执行第二行时,结果为: 03/06/2019 18:06:00

问题是日期和月份都切换了。

这是我的代码:

Newtonsoft.Json.Linq.JArray jsonCars = assignmentsResult.cars;
List<CarsViewModel> assignments = jsonCars.ToObject<List<CarViewModel>>();

CarViewModel中的属性为string类型。我尝试了DateTime,但此问题已解决:

  

Newtonsoft.Json.JsonSerializationException:将值{null}转换为类型'System.DateTime'时出错。路径“ cars [0] .created”。

我可以做些什么?

2 个答案:

答案 0 :(得分:0)

理想情况下,您应该使用DateTime类型作为日期值。我想序列化的问题可能是因为对于某些数组对象而言,创建的值可以为null。您可以尝试使用可为空的Datetime(DateTime?)。

答案 1 :(得分:0)

如果将2019-03-06T18:06:00转换为DateTime,则可以将其转换为任意格式的字符串。示例:

DateTime dt = Convert.ToDateTime("2019-03-06T18:06:00");
string correctFormat = dt.ToString("MM/dd/yyyy HH:mm");
Console.WriteLine(correctFormat);

将输出:

03/06/2019 18:06

因此,最好使用DateTime存储值,然后可以操纵它们以打印出所需的内容。