Convertir une chaîne en DateTime en C#
Convertir une chaîne de date en un objet DateTime en C# peut être une tâche difficile, en particulier lorsqu'il s'agit de formats non standards. L'un de ces formats est "aaaaMMjjHHmmss", qui représente une date sans séparateurs.
Problème :
Considérez la chaîne de date suivante :
20090530123001
Cette chaîne a été créée à l'aide de dateTime.ToString("aaaaMMjjHHmmss", CultureInfo.InvariantCulture). Comment pouvons-nous le reconvertir en un objet DateTime approprié ?
Solution :
L'approche la plus simple consiste à utiliser la méthode DateTime.ParseExact. Cette méthode prend trois paramètres :
Pour la chaîne donnée, nous pouvons utiliser le code suivant :
DateTime dateTime = DateTime.ParseExact("20090530123001", "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Cela convertira avec succès la chaîne en DateTime object.
Gestion des formats non valides :
Cependant, si la chaîne n'est pas toujours au format correct, l'utilisation de ParseExact peut entraîner une exception FormatException. Pour éviter cela, vous pouvez utiliser la méthode DateTime.TryParseExact à la place. Cette méthode prend les mêmes paramètres que ParseExact mais renvoie une valeur booléenne indiquant si la conversion a réussi.
Le code suivant montre comment utiliser TryParseExact :
DateTime dateTime; if (DateTime.TryParseExact("20090530123001", "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime)) { // Conversion successful } else { // Conversion failed }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!