Quelle est la meilleure façon de convertir une chaîne en date en C # si mon format de date entrant est en YYYYMMDD
Ex: 20001106
Utilisez DateTime.ParseExact (). Quelque chose comme:
string date = "20100102";
DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);
DateTime.TryParseExact(myDateString, "yyyyMMdd",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out myDateVar )
Cochez DateTime.ParseExact ou DateTime.TryParseExact .
utilisez DateTime.TryParseExact avec une chaîne de modèle de "yyyyMMdd"
si vous êtes sur .NET 2.0 ou supérieur.
Si vous êtes bloqué avec .NET 1.1, utilisez DateTime.ParseExact
voir Chaînes de format DateTime standard pour les règles de création de chaînes de modèle.
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);
L'utilisation de TryParseExact est généralement plus agréable que ParseExact car elle ne lèvera pas d'exception si la conversion échoue. Au lieu de cela, il retourne vrai s'il réussit, faux s'il ne l'est pas:
DateTime dt;
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString());
}