web-dev-qa-db-fra.com

Convertir une chaîne en date/heure en vb.net

J'ai un datetime qui ressemble à ceci:

201210120956
ccyyMMDDhhmm

Quand j'essaye ceci:

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

Je récupère ceci:

#10/12/2012#

Je perds du temps dessus.

J'ai lu cette chaîne convert en datetime vb.net mais lorsque j'utilise datetime.ParseExact(), je reçois: 

ne peut pas résoudre le symbole 'ParseExact'

Existe-t-il un moyen de convertir cela en une date-heure sans utiliser de sous-chaîne? Une conversion directe?

10
ErocM

Passer le motif de décodage à ParseExact

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

ParseExact est disponible uniquement à partir de Net FrameWork 2.0.
Si vous êtes toujours sur 1.1, vous pouvez utiliser Parse, mais vous devez fournir le fichier IFormatProvider adéquat

21
Steve

Vous pouvez essayer avec la méthode ParseExact

Échantillon 

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

Sinon, si vous mettez un espace entre la date et l'heure, DateTime.Parse reconnaîtra le format pour vous. C'est à peu près aussi simple que vous pouvez l'obtenir. (Si ParseExact n'était toujours pas reconnu)

0
Josh Newton