asp.net-core - 在解析日期上增加了一个小时
问题描述
我将此发布到 ASP.net Core 操作...
{
"Start":"2018-09-30T00:00:00+00:00",
"Finish":"2018-10-01T00:00:00+00:00"
}
它模型绑定到两个Date?
属性,但值是相同的日期,但时间是凌晨 1 点。
为什么会这样?它似乎只在出现“+00:00”时才会这样做,所以我的猜测是这代表格林威治时间,服务器目前在夏季时间为 +1。
解决方案
我基本上使用了这个答案...... https://stackoverflow.com/a/38276403/221683
此自定义格式化程序不包括日期字符串中的时区。
public class DateTimeConverter : DateTimeConverterBase
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
{
writer.WriteValue(((DateTime) value).ToString("yyyy-MM-ddTHH:mm:ss"));
}
}
var serializedItem = JsonConvert.SerializeObject(item, new DateTimeConverter());
推荐阅读
- android - 在传递图像 URL 时无法在 android 的 onActivityResult() 中获取数据
- python - 幂法不适用于对称矩阵
- javascript - 角按钮单击
- python - 从 Python 中执行的批处理状态(使用子进程)
- javascript - Javascript - Chrome:子节点最大长度
- c++ - 是什么阻止了 Boost.Format 表单使用我的流运算符重载作为可选 int?
- outlook - 如何在新的 Outlook 邮件中创建永久通知?
- python - Python:将二进制数组显示为图像
- c# - 如何通过双击.NET框架中的exe等文件来运行.NET核心应用程序
- python - Python数据框按以下值分组