我的日期为字符串,格式为 2015年10月16日12:05:29:000 ,我在 DateString 变量中有。
我使用以下代码行将其转换为日期格式。
Dim FormattedDate As Date = Date.ParseExact(DateString, "dd mmm yyyy HH:mm:ss.FFF", System.Globalization.CultureInfo.InvariantCulture)
我收到以下错误。 字符串未被识别为有效的DateTime
我做错了什么?
答案 0 :(得分:1)
试试这个
Dim datestring = "16 Oct 2015 12:05:29.000"
Dim FormattedDate As Date = Format(CDate(datestring), "dd MMM yyyy HH:mm:ss.FFF")
或以与尝试相同的方式
Dim datestring = "16 Oct 2015 12:05:29.000"
Dim FormattedDate As Date = Date.ParseExact(datestring, "dd MMM yyyy HH:mm:ss.FFF", System.Globalization.CultureInfo.InvariantCulture)
你使用mmm
代替MMM
三个字母的月份。请仔细查看指定的日期字符串和格式。这会导致字符串无法识别问题。< / p>
答案 1 :(得分:1)
您的代码几乎是正确的,只需要在现有格式字符串中修复两件事即ie。 dd mmm yyyy HH:mm:ss.FFF
1。)dd mmm yyyy HH:mm:ss.FFF
- 此处月份名称的格式应为MMM
,因为您需要获取Oct
(16 Oct 2015 12:05:29:000
)
2。)12:05:29:000
是字符串中的时间,但您尝试将其解析为HH:mm:ss.FFF
&lt; - (注意::000
到.FFF
会产生错误
,最终代码应为
您必须使用dd MMM yyyy HH:mm:ss:FFF
代替dd mmm yyyy HH:mm:ss.FFF
Dim FormattedDate As Date = Date.ParseExact(dateString, _
"dd MMM yyyy HH:mm:ss:FFF", _
System.Globalization.CultureInfo.InvariantCulture)