如何保持我的日期值正确以提交给 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 类型。如果有帮助,请告诉我。