Json.net日期时间格式不正确

时间:2016-07-19 15:50:33

标签: c# json datetime json.net

我开始使用Json.net来解析带有日期值的Json字符串。一切都安排好了约会。到目前为止,我甚至无法将JValue转换为.NET DateTime,即使使用DateTime.Parse方法也是如此,因为Json.NET似乎将日期解析为一种不寻常的格式,如下所示

            string JsonString = new WebClient().DownloadString(URL);
        JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
        {
            DateFormatHandling = DateFormatHandling.MicrosoftDateFormat,
            DateTimeZoneHandling = DateTimeZoneHandling.Local
        };
        dynamic elements = JsonConvert.DeserializeObject(JsonString, microsoftDateFormatSettings);
        for (int i = 0; i < int.Parse(elements.totalCount.ToString()) ; i++)
        {
            idDossier = elements.avis[i].idDossier;
            refs = elements.avis[i].
            PublicationDate = elements.avis[i].datePublication;
            Deadline = elements.avis[i].dateLimite;

我设法使用正则表达式重新格式化和解析日期,但是为了将来的使用,我想学习正确使用Json.net而不是重新发明轮子。

JSON字符串如下

{{1}}

}

这是我的C#代码

{{1}}

我做错了什么?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在DateFormatString

中指定JsonSerializerSettings
var json = @"{""dateRemiseCandidature"": ""25/07/2016 00:00""}";
var settings = new JsonSerializerSettings
{
    DateFormatString = "dd/MM/yyyy hh:mm"
};
var result = JsonConvert.DeserializeObject<SomeClass>(json, settings);

//////

class SomeClass
{
    public DateTime dateRemiseCandidature { get; set; }
}