DateTime.ParseExact 自定义日期格式

DateTime.ParseExact format for custom date

我无法使用函数 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)

你的第二个例子有三个问题:

  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