gpt4 book ai didi

c# - .net core 3.1 到 .net Core 5 升级会错误地转换日期时间值吗?有关此重大更改和解决方案的任何文档

转载 作者:行者123 更新时间:2023-12-04 15:04:37 26 4
gpt4 key购买 nike

最近将一个应用程序从 .NET Core 3.1 升级到 .NET 5。出于某种原因,DateTimeKind 在 3.1 中是本地的,现在在 .NET 5 中是 UTC。
我创建了一个简单的项目来展示这个问题,
https://github.com/ShehulCS/Dotnet5DateTimeIssue
题,

  • 任何人都可以从 Microsoft 文档中确认,如果这是他们在 2 个版本之间引入的更改,是错误还是新设计?
    在线搜索并没有让我找到任何有用的信息。
  • 最佳答案

    您所描述的问题与错误修复有关。
    总之,Z ISO 8601 时间戳的末尾明确表示 UTC。错误是当通过模型绑定(bind)获得这样的值时,它之前被解释为DateTimeKind.Local而不是 DateTimeKind.Utc .该错误已在 5.0 中得到纠正。

  • 该错误在此问题中描述:
    https://github.com/dotnet/aspnetcore/issues/11584
  • 它已在此 PR 中修复:
    https://github.com/dotnet/aspnetcore/pull/24893
  • 在此处提出(但被拒绝)将修复程序向后移植到 3.1 的请求:
    https://github.com/dotnet/aspnetcore/issues/27618

  • 新行为是正确的。如果您依赖旧行为,您可能还有其他 .NET 代码需要更正。

    关于c# - .net core 3.1 到 .net Core 5 升级会错误地转换日期时间值吗?有关此重大更改和解决方案的任何文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66391183/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com