我从后端得到一个格式化的字符串,看起来像这样: 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”。
我可以做些什么?
答案 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
存储值,然后可以操纵它们以打印出所需的内容。