VB.Net 日期格式 UTC

问题描述

我有一个日志文件,其中的日期以 UTC 格式 "2021-03-29T08:30:29Z" 存储。 当我们不在英国夏令时,存储的日期是错误的,即在上面的例子中应该是 09:30。

如果我使用以下 DateTime.Parse("2021-03-29T08:30:29Z").ToString) 它会给我正确的时间但格式错误 29/03/2021 09:30:29

我需要将此数据插入到 sql 表中,该表希望它的格式为 YYYY-MM-DD HH:mm:ss,有人可以帮忙吗?

提前致谢,达伦

解决方法

使用 ToString 方法根据需要格式化日期,例如参见:https://docs.microsoft.com/en-us/dotnet/api/system.datetime.tostring?view=net-5.0

但可能有更好的方法,具体取决于您要使用的数据库和库。如果您使用参数化查询,您可以只传递原始变量并让中间件处理它。我认为这可能是你应该做的。

,

我以为我不久前也遇到了这个问题——尽管是使用 SQLite——但事实证明,存储的 UTC 日期在查看时会转换为您的本地时区。因此,它存储为“绝对”日期时间,但被视为本地日期时间。无论如何,这就是我的情况,也许你的情况也是如此。