【问题标题】:How can i convert an UTC datetime?如何转换 UTC 日期时间?
【发布时间】:2014-01-05 16:53:57
【问题描述】:

我通过 XML 文件提供了以下日期

2013-12-13T19:00:00+01:00

我想将它作为 DateTime 存储在我的数据库中,UTC 偏移量为零。

不幸的是,我的网络服务器具有以下时区信息,这破坏了我的转换逻辑...

-06:00:00
(UTC-06:00) Central Time (US & Canada)
Central Standard Time 

我怎样才能完成这个?我完全迷路了!

【问题讨论】:

    标签: .net datetime timezone timezone-offset


    【解决方案1】:

    the ToUniversalTime method?

    DateTimeOffset.Parse("2013-12-13T19:00:00+01:00").ToUniversalTime()
    -> 2013-12-13 06:00:00 PM +00:00
    

    【讨论】:

    • 我认为 OP 的问题是他们使用 DateTime.Parse 而不是 DateTimeOffset.Parse
    • @Chocol8: DateTimeOffsetadded in .NET 3.5 来处理这种情况。
    • 好的。现在我要开始吸毒了。在服务器端运行它并添加“.LocalDateTime”时,结果是 12/13/2013 12:00:00 PM
    • @Chocol8:这是意料之中的,因为您当地的时区是 `UTC-06:00'。 :)
    • 好答案。此外,正确使用DateTimeOffsetTimeZoneInfo 并理解DateTime.Kind 将使您编写的代码不关心服务器的时区设置。这应该始终是目标。
    猜你喜欢
    • 2011-07-11
    • 2014-01-24
    • 2019-11-26
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2022-12-17
    • 2021-12-31
    • 2012-10-07
    相关资源
    最近更新 更多