Comment convertir une chaîne de caractères telle que 2009-05-08 14:40:52,531
en une date ?
Réponses
Trop de publicités?Étant donné que vous traitez une heure basée sur 24 heures et que la fraction des secondes est séparée par une virgule, je vous recommande de spécifier un format personnalisé :
DateTime myDate = DateTime.ParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff",
System.Globalization.CultureInfo.InvariantCulture)
Vous avez essentiellement deux options pour cela. DateTime.Parse()
et DateTime.ParseExact()
.
Le premier est très indulgent en termes de syntaxe et peut analyser les dates dans de nombreux formats différents. Il convient bien aux entrées de l'utilisateur qui peuvent avoir des formats différents.
ParseExact vous permet de spécifier le format exact de votre chaîne de date à utiliser pour l'analyse. Il est bon d'utiliser cette option si votre chaîne est toujours dans le même format. De cette façon, vous pouvez facilement détecter toute déviation par rapport aux données attendues.
Vous pouvez analyser l'entrée de l'utilisateur comme ceci :
DateTime enteredDate = DateTime.Parse(enteredString);
Si vous avez un format spécifique pour la chaîne de caractères, vous devez utiliser l'autre méthode :
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"
représente le modèle de date courte (voir MSDN pour plus d'informations ) et null
spécifie que la culture actuelle doit être utilisée pour analyser la chaîne de caractères.