c# - 如何在 Newtonsoft 中设置 DateTime 格式字符串?
问题描述
我试图让 Newtonsoft 将字符串转换为 DateTime。这是字符串:
13/02/2019 05:13
我尝试使用以下方法之一告诉 Newtonsoft 如何执行此操作:
var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy HH:mm" };
var converters = new List<JsonConverter>() { dateTimeConverter };
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
Converters = converters
};
或者
JsonConvert.DefaultSettings = () => new JsonSerializerSettings
{
DateFormatString = "dd'/'MM'/'yyyy' 'HH':'mm"
};
当然,它会直接告诉我没关系,然后在它试图处理第十三个月的第二天时爆炸。
我需要这个在全球范围内工作。我如何让 Newtonsoft 做到这一点?
解决方案
这是在 WebAPI 中,问题是我没有设置 WebAPI 使用的相同 Json.Net。
我通过将它放在global.asax.cs的 Application_Start 中来修复它:
var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy HH:mm" };
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.Converters.Add(dateTimeConverter);
推荐阅读
- javascript - onsubmit里面没有调用JS表单验证函数
- c++ - VS Code - 如何运行未更改的 c++ 文件而不再次构建它们
- rx-java - RxJava:如何刷新定时缓冲区?
- r - 具有 integer64 数字的 dcast 的意外行为
- spring-boot - Gerrit - 错误:在文件中找到回车符(CR):gradle/wrapper/gradle-wrapper.jar
- racket - 如何在以下代码中使用多个“return”语句?
- angular - Angular 材质对话框 closeOnNavigation 源代码
- r - 要删除重复的行,除非列中存在 NA 值
- python - 为什么 list.remove() 在这个 for 循环中不起作用?
- java - 未选中复选框,即使我使用代码执行此操作