J'envoie une chaîne au format dd/MM/yyyy
, qui est ensuite analysée dans la culture lv-LV
définie par le paramètre de globalisation web.config.DateTime.Parse, paramètres de la culture lettonne
Je compare alors la date à DateTime.Now
pour voir si c'est dans le passé.
Le problème est, DateTime.Parse
convertit ma chaîne au format , mais DateTime.Now a le format MM.dd.yyyy
, donc la comparaison échoue toujours. Pourquoi DateTime.Now
serait-il différent de la sortie de DateTime.Parse
, sur la même culture de fil?
Merci!
(Mise à jour) C'est le code que je utilise:
InputText contient l'entrée d'un formulaire en format JJ.MM.AAAA
DateTime date = DateTime.Parse(InputText, CultureInfo.CurrentCulture);
// Check it's not in the past
this.IsValid = (date.CompareTo(DateTime.Now) > 0);
[DateTime.Now] dans ce contexte est MM format .DD.YYYY utilisant LV-LV cultureInfo [date] est au format JJ.MM.AAAA après la DateTime.Parse
Je pense que vous devez nous montrer un code plus complet; un 'DateTime' (comme' .Now', ou le résultat d'un '.Parse') n'a pas * un * format propre - ddmm versus mmdd est une propriété de * chaînes de caractères *, pas de' DateTime 'Valeurs eux-mêmes. – AakashM
comparez-vous deux dates en tant que chaînes? Si vous comparez deux structures datetime, la culture que toString représente n'a aucune importance. – Alex