如何保持我的日期值正确以提交给 API?
How to keep my date value correct for submitting to API?
我正在使用 .net core 3.1 后端的 angular 应用程序。
我使用 material 日期选择器。
当我选择一个日期时,我可以在控制台中看到它看起来像
Wed Feb 10 2021 00:00:00 GMT+0100
但是,当它到达我的网络 api 控制器时,该值已更改。现在是 utc,因此设置为前一天
StartDate.ToString()
//"09/02/2021 23:00:00"
StartDate.Kind
//Utc
我知道这与 gmt vs utc 有关。
但我不确定修复它的最佳方法。
有什么建议吗?
我假设您在服务器端的 DTO 模型中使用 DateTime
类型。
DateTime
不包含任何关于时区的信息,所以我假设如果目标类型不能保留时区信息(如果目标类型是 DateTime
),json serealizer 会将其转换为 UTC。
请尝试使用 DateTimeOffset
类型。如果有帮助,请告诉我。
我正在使用 .net core 3.1 后端的 angular 应用程序。 我使用 material 日期选择器。 当我选择一个日期时,我可以在控制台中看到它看起来像
Wed Feb 10 2021 00:00:00 GMT+0100
但是,当它到达我的网络 api 控制器时,该值已更改。现在是 utc,因此设置为前一天
StartDate.ToString()
//"09/02/2021 23:00:00"
StartDate.Kind
//Utc
我知道这与 gmt vs utc 有关。 但我不确定修复它的最佳方法。 有什么建议吗?
我假设您在服务器端的 DTO 模型中使用 DateTime
类型。
DateTime
不包含任何关于时区的信息,所以我假设如果目标类型不能保留时区信息(如果目标类型是 DateTime
),json serealizer 会将其转换为 UTC。
请尝试使用 DateTimeOffset
类型。如果有帮助,请告诉我。