Преобразование строки в datetime в vb.net

У меня есть datetime, который выглядит так:

201210120956
ccyyMMDDhhmm

Когда я попробую это:

Dim convertedDate As Date = Date.Parse(DateString)
Return convertedDate

Я верну это:

#10/12/2012#

Я теряю время на нем.

Я прочитал эту конвертирую строку в datetime vb.net, но когда я использую datetime.ParseExact(), я получаю:

не может разрешить символ "ParseExact"

Есть ли способ преобразовать это в дату, не используя подстроку? Прямое преобразование?

Ответ 1

Передайте шаблон декодирования ParseExact

Dim d as string = "201210120956"
Dim dt = DateTime.ParseExact(d, "yyyyMMddhhmm", Nothing)

ParseExact доступен только из Net FrameWork 2.0.
Если вы все еще на 1.1, вы можете использовать Parse, но вам нужно предоставить IFormatProvider, соответствующий вашей строке

Ответ 2

Вы можете попробовать с помощью метода ParseExact

Пример

Dim format As String  
format = "d" 
Dim provider As CultureInfo = CultureInfo.InvariantCulture
result = Date.ParseExact(DateString, format, provider)

Ответ 3

В качестве альтернативы, если вы поместите пробел между датой и временем, DateTime.Parse распознает формат для вас. Это так же просто, как вы можете это получить. (Если ParseExact все еще не распознается)