Quelle est la meilleure façon de convertir la chaîne à ce jour en C# si mon format de date d'arrivée est en YYYYMMDD
Convertir chaîne à ce jour dans .NET si mon format de date d'arrivée est en AAAAMMJJ
Ex: 20001106
Quelle est la meilleure façon de convertir la chaîne à ce jour en C# si mon format de date d'arrivée est en YYYYMMDD
Convertir chaîne à ce jour dans .NET si mon format de date d'arrivée est en AAAAMMJJ
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)
J'ai utilisé cette méthode car il m'a permis de vérifier la valeur de retour de TryParseExact et savoir si la date convertie correctement. J'ai mis un défaut quand ce n'est pas le cas. –
Vérifiez DateTime.ParseExact ou DateTime.TryParseExact.
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);
utilisation DateTime.TryParseExact avec une chaîne de modèle de "yyyyMMdd"
si vous êtes sur .NET 2.0 ou mieux.
Si vous êtes coincé avec .NET 1.1 utiliser DateTime.ParseExact
voir Standard DateTime Format Strings les règles pour faire des chaînes de motif.
L'utilisation de TryParseExact est généralement plus agréable que celle de ParseExact, car elle n'émettra pas d'exception si la conversion échoue. Au contraire, il retourne vrai si elle est couronnée de succès, false si ce n'est pas:
DateTime dt;
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString());
}
@Dynami essayer à nouveau, je viens d'éditer avec le bon format (affaire compte) –
Selon la solution de Luke, il fonctionne très bien le format de date devrait être 'aaaaMMdd' autrement est l'attente 'chaîne chaîne n'a pas été reconnu comme un datetime valide' – Sreedhar