vb.net中字符串到日期时间转换的问题

时间:2015-12-10 04:54:44

标签: vb.net datetime

我的日期为字符串,格式为 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

我做错了什么?

2 个答案:

答案 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,因为您需要获取Oct16 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)

DEMO