Json转换为DateTime-更改格式

本文关键字:格式 DateTime- 转换 Json | 更新日期: 2023-09-27 18:27:28

我从JS(带JSON)向服务器(C#)发送一个格式为"dd/mm/yyyy"的字符串日期,例如"2014年10月23日",但C#DateTime为null。如果我发送"10/23/2014"它工作。我使用MVC4。

我如何更改DateTime的格式?我将能够发送"2014年10月23日"?

Json转换为DateTime-更改格式

这不是您问题的直接答案,但我认为您更安全地将日期发送为:yyyy/mm/dd

那么你就不必担心国际化了。MVC将正确地对此进行解析。

编辑

马特在下面发表了很好的评论。日期的格式应为:yyyy-mm-dd,这符合ISO 8601标准。

您可以在序列化设置中指定日期格式

var jsonString = @"{'ID':'1','Date':'23/10/2014'}";
JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings()
{
    DateFormatString = "dd/MM/yyyy"
};
var result = JsonConvert.DeserializeObject<TheType>(jsonString, jSettings);