Azure Web API 应用程序中缺少日期时间的时间偏移值
Time offset value of a datetime is missing in Azure Web API application
我有一个 wep api 托管在 Azure 中,它是 .NET Core。现在是一个简单的 CRUD api。我有一个有趣的问题,我无法找到或理解原因。
在我的api里,和往常一样有一个DateTime属性。当我post一个数据到api时,服务器端的时间偏移就消失了。
"dateTime":"2016-08-29T05:13:21.931+03:00" +03:00 变成 00:00
谁能解释一下原因和解决方法?
{
"content":"Test Data",
"location":{
"name":"Some Location",
"address":"",
"latitude":41.0920448,
"longitude":28.9444847
},
"owner":{
"userName":"Some User",
"name":null,
"registrationType":0,
"profilePictureURL":null
},
"dateTime":"2016-08-29T05:13:21.931+03:00",
"createTime":"2016-08-29T05:13:21.7791051+00:00",
"rankingPoint":0.0
}
1.First 的所有 Azure 服务都在 00:00 时区运行。
如果您查看 DateTime 结构,它有一个特殊的 属性 称为 Kind。在 serialization/deserialization 期间,此 属性 考虑在内。
日期时间 dt = DateTime.Now;
// dt.Kind(本地、Utc 等)。
序列化的工作方式在服务器端 Json Serialziation 设置中看起来是这样的 属性。
这个选项也没什么用。
3。我发现的简单且最佳的解决方案是使用 DateTimeOffset 而不是 DateTime。
我有一个 wep api 托管在 Azure 中,它是 .NET Core。现在是一个简单的 CRUD api。我有一个有趣的问题,我无法找到或理解原因。
在我的api里,和往常一样有一个DateTime属性。当我post一个数据到api时,服务器端的时间偏移就消失了。
"dateTime":"2016-08-29T05:13:21.931+03:00" +03:00 变成 00:00
谁能解释一下原因和解决方法?
{
"content":"Test Data",
"location":{
"name":"Some Location",
"address":"",
"latitude":41.0920448,
"longitude":28.9444847
},
"owner":{
"userName":"Some User",
"name":null,
"registrationType":0,
"profilePictureURL":null
},
"dateTime":"2016-08-29T05:13:21.931+03:00",
"createTime":"2016-08-29T05:13:21.7791051+00:00",
"rankingPoint":0.0
}
1.First 的所有 Azure 服务都在 00:00 时区运行。
如果您查看 DateTime 结构,它有一个特殊的 属性 称为 Kind。在 serialization/deserialization 期间,此 属性 考虑在内。
日期时间 dt = DateTime.Now; // dt.Kind(本地、Utc 等)。
序列化的工作方式在服务器端 Json Serialziation 设置中看起来是这样的 属性。 这个选项也没什么用。
3。我发现的简单且最佳的解决方案是使用 DateTimeOffset 而不是 DateTime。