Blazor WASM DatePicker UTC
Blazor WASM DatePicker UTC
我有一个 C# WASM Blazor 服务器端应用程序。
当用户选择 2022 年 3 月 29 日时,它将在 23:00 小时作为 2022 年 3 月 28 日进入数据库。
向后推 1 小时,推到前一天。
当我使用本地浏览器在 VS 中调试并单步执行代码时,不会发生这种情况。
我感觉应用客户端正在为实时用户调整时间。
我们想要 UTC 中的所有内容,但我不知道我需要在哪里解决这个问题。
发送业务逻辑数据的 DTO 中的字段是:
public DateTime? LatestPickupDate { get; set; }
它是 SQL 数据库中的日期时间 2(7)
谁能给点建议?
谢谢
关于客户端时区,您需要自行处理
这里有一些解释:https://www.meziantou.net/convert-datetime-to-user-s-time-zone-with-server-side-blazor.htm
牢记:
- 以 UTC 格式保存数据库中的日期(像上例一样以 UTC 格式检索字段)
- 当您在用户处呈现数据库中的现有日期时,执行相反的操作(使用客户端 TimezoneOffset
将 utc 日期 datetime 调整为本地
这原来是 Safari 的问题。当用户在 Chrome
时正确显示日期
我有一个 C# WASM Blazor 服务器端应用程序。
当用户选择 2022 年 3 月 29 日时,它将在 23:00 小时作为 2022 年 3 月 28 日进入数据库。
向后推 1 小时,推到前一天。
当我使用本地浏览器在 VS 中调试并单步执行代码时,不会发生这种情况。
我感觉应用客户端正在为实时用户调整时间。
我们想要 UTC 中的所有内容,但我不知道我需要在哪里解决这个问题。
发送业务逻辑数据的 DTO 中的字段是:
public DateTime? LatestPickupDate { get; set; }
它是 SQL 数据库中的日期时间 2(7)
谁能给点建议?
谢谢
关于客户端时区,您需要自行处理
这里有一些解释:https://www.meziantou.net/convert-datetime-to-user-s-time-zone-with-server-side-blazor.htm
牢记:
- 以 UTC 格式保存数据库中的日期(像上例一样以 UTC 格式检索字段)
- 当您在用户处呈现数据库中的现有日期时,执行相反的操作(使用客户端 TimezoneOffset 将 utc 日期 datetime 调整为本地
这原来是 Safari 的问题。当用户在 Chrome
时正确显示日期