Convert string to datetime in vb.net

2019-01-11 23:59发布

问题:

I have a datetime that looks like this:

201210120956
ccyyMMDDhhmm

When I try this:

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

I get back this:

#10/12/2012#

I'm losing the time on it.

I've read this convert string to datetime vb.net but when I use datetime.ParseExact() I get:

cannot resolve symbol 'ParseExact'

Is there a way to convert this to a date time without using substring? A straight conversion?

回答1:

Pass the decode pattern to ParseExact

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

ParseExact is available only from Net FrameWork 2.0.
If you are still on 1.1 you could use Parse, but you need to provide the IFormatProvider adequate to your string



回答2:

You can try with ParseExact method

Sample

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


回答3:

As an alternative, if you put a space between the date and time, DateTime.Parse will recognize the format for you. That's about as simple as you can get it. (If ParseExact was still not being recognized)