【问题标题】:DateTime.ParseExact format for custom date自定义日期的 DateTime.ParseExact 格式
【发布时间】:2015-07-15 05:27:52
【问题描述】:

我无法使用函数 parseexact 将以下字符串转换为日期

这个有效:

Dim fechaS = "Feb 16 23:13:53.241 2015"
fecha1 = DateTime.ParseExact(fechaS, "MMM dd HH:mm:ss.fff yyyy", Nothing)

但失败了,当我添加更多选项时:

Dim fechaS = "Mon 16 23:13:53.241 UTC 2015"
fecha1 = DateTime.ParseExact(fechaS, "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)

【问题讨论】:

    标签: .net vb.net date datetime timezone-offset


    【解决方案1】:

    您的第二个示例存在三个问题:

    1. 日期时间字符串与日期格式不同
    2. 日期字符串中没有月份,因此无法在不知道这一点的情况下将其解析为日期。
    3. 没有匹配“UTC”的有效日期时间说明符。为了调整时区,您必须提供时区偏移量(这就是z 的含义)。您可以通过将UTC 替换为+0 来实现这一点

    这失败了

    Dim fechaS = "Mon 16 23:13:53.241 UTC 2015"
    fecha1 = DateTime.ParseExact(fechaS, "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)
    

    这行得通

    Dim fechaS = "Mon Feb 16 23:13:53.241 UTC 2015"
    fecha1 = DateTime.ParseExact(fechaS.Replace("UTC", "+0"), "ddd MMM dd HH:mm:ss.fff z yyyy", Nothing)
    

    更多关于允许的日期时间格式的信息:Custom DateTime Format Strings

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2021-08-06
      • 2011-03-01
      相关资源
      最近更新 更多