【问题标题】:Trouble converting UTC time received from database to local time无法将从数据库接收到的 UTC 时间转换为本地时间
【发布时间】:2017-04-07 05:50:23
【问题描述】:

我最近一直在尝试将表示 UTC 时间的字符串转换为本地非 UTC 格式。

例如,这是我尝试转换的字符串之一:

2017-04-07T16:00:00.000Z

我正在尝试将其转换为美国日期时间(M/d/yyyy 等)格式:

4/7/2017 4:00 PM

但由于某种原因,我收到的输出是欧洲日期时间(d/M/yyyy 等)格式:

7/4/2017 4:00 PM

我尝试转换字符串的代码如下:

DateTimeOffset start_time = DateTimeOffset.Parse(event_time);

// In Unity, debugging time without offset

Debug.Log(start_time.LocalDateTime);

我尝试使用 ParseExact 和其他方法来获得所需格式的输出,但到目前为止我还没有运气。我在做什么 错了吗?

【问题讨论】:

  • 如果您确定您将始终收到“7/4/2017 4:00 PM”这样的输出格式,您可以使用String.Split 函数并存储日期值。然后,您可以按照您认为合适的方式重新排列它。

标签: c# datetime unity3d utc


【解决方案1】:

您可以通过ToString方法中的格式来获取M/d/yyyy,详细了解Custom Date and Time Format Strings

Debug.Log(start_time.LocalDateTime.ToString("M/d/yyyy h:mm tt"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-19
    • 2019-03-04
    • 2014-07-23
    • 2018-07-27
    • 2012-02-29
    • 2015-05-10
    • 2014-07-18
    • 2021-02-04
    相关资源
    最近更新 更多