2009-07-30 8 views
0

J'ai une variable de session dans laquelle j'ai stocké une date '22 /7/2009 '. Maintenant, je veux convertir la valeur de la session en date/heure. J'ai essayé le code suivant:comment convertir la chaîne en datetime

Session("AppointmentDate") = Request.QueryString("ADate") 
Dim s as datetime=Convert.ToDateTime(Session("AppointmentDate")) 

Mais l'erreur est montrée comme «la chaîne n'est pas identifiée comme datetime valide». Quelqu'un peut-il m'aider à convertir la valeur de la session en date?

Répondre

-1

Je pense que vous devez stocker votre date comme 22/07/2009 afin que Convert.ToDateTime() puisse le reconnaître.

1

Utilisez DateTime.ParseExact pour spécifier la chaîne de format de date. Je pense que ce serait quelque chose comme:

dateValue = Date.ParseExact(dateString, "d", frFR, DateTimeStyles.None) 

ou

dateValue = Date.ParseExact(dateString, "dd/M/yyyy", enUS, DateTimeStyles.None) 
3

Pourquoi ne pas vous mettre la valeur en la session en tant que DateTime?

A défaut, utilisez: -

Utilisation: -

DateTime.ParseExact(
    myDateString, 
    "d/M/yyyy",  
    System.Threading.Thread.CurrentThread.CurrentCulture); 

Où myDateString contient votre valeur de session [ "AppointmentDate"]

+0

Techniquement, votre suggestion poing ne fait que déplacer la question une bit, si la chaîne de requête est "22/7/2009" alors l'appel de Convert.ToDateTime (Request.QueryString ("ADate")) ne serait pas différent;) –

+0

D'accord :) Je dois analyser un jour. –