Преобразование строки в 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
все еще не распознается)