c#中的JSON DateTime序列化处理个位数和两位数的小时

问题描述

我有一个 3rd 方应用程序,它以单位数和两位数的小时格式发送 JSON 日期时间。小时数小于 10 时以个位数发送,大于或等于 10 时以两位数发送。

例如

2020-12-17T9:00:00.000-04:00

2020-12-17T11:00:00.000-04:00

我希望将 2020-12-17T9:00:00.000-04:00 作为 2020-12-17T09:00:00.000-04:00 发送。

是否有可以同时处理单数字和双数字小时的 DateFormatString?

目前,我使用 Newtonsoft 中的认设置,它在将单个数字字符串解析为 DateTime 时抛出异常。

解决方法

我想我不应该一开始就问这个问题。很明显,第三方公司没有通过正确的格式。

如果想获取“2020-12-17T11:00:00.000-04:00”格式的日期时间字符串,格式为“yyyy-MM-ddThh:mm:ss.fffzzz”>

var dateString = DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss.ffffzzz");