73 votes

Conversion d'une chaîne en date et heure C#.net

Comment convertir une chaîne de caractères telle que 2009-05-08 14:40:52,531 en une date ?

134voto

CMS Points 315406

É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)

46voto

Sander Points 9804

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.

10voto

gehsekky Points 1287

Essayez ceci

DateTime oDate = DateTime.Parse(string s);

8voto

lc. Points 50297

6voto

Umair Baig Points 61
string input;
DateTime db;
Console.WriteLine("Enter Date in this Format(YYYY-MM-DD): ");
input = Console.ReadLine();
db = Convert.ToDateTime(input);

//////// this methods convert string value to datetime
///////// in order to print date

Console.WriteLine("{0}-{1}-{2}",db.Year,db.Month,db.Day);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X