CultureInfo.GetCultureInfo(“fr-FR”) n'est pas compatible avec fr-fr date format mais des amendes avec les autres

Pourquoi la première ligne de code lance "la Chaîne n'a pas été reconnu comme un DateTime valide." exception?

fr-GO ne semble pas compatible avec fr-US, mais, étrangement, compatible avec zh-CN et ru-ru chaîne de format de date.

Oui je peut simplement changer la culture d'info pour fr-fr pour le rendre compatible avec fr-fr date de chaîne de format. Mais ma question est pourquoi fr-GB fonctionne avec zh-CN et ru-ru chaînes de format?

des idées?

        var obj = DateTime.Parse("11/20/2013 3:10:36 AM", CultureInfo.GetCultureInfo(0x0809).DateTimeFormat);//en-US
        obj = DateTime.Parse("2013/11/20 3:16:08", CultureInfo.GetCultureInfo(0x0809).DateTimeFormat);//zh-CN
        obj = DateTime.Parse("20.11.2013 3:17:44", CultureInfo.GetCultureInfo(0x0809).DateTimeFormat); //ru-RU

0x0809 fr-GO, anglais (royaume-Uni) anglais

Merci,

Pourquoi est-ce étonnant? Le royaume-UNI utilise un jour/mois/année, alors que les états-unis utilisent un mois/jour/année. Ils sont certainement différents.
alors, pourquoi la culture info fonctionne avec la chaîne de format de date dans zh-CN et ru-ru?
Bien le russe formulaire est déjà semblable à celle du royaume-UNI, juste en utilisant un autre délimiteur. Et les Chinois on est évidemment en commençant par l'année... sans doute à ce qu'il devine que le mois prochain. Quand vous avez deux à deux les valeurs numériques uns à côté des autres, je pense qu'elle essaie de l'utiliser pour la culture spécifique à la "normale" de la commande de mois et le jour.
DateTime.Parse est Vraiment Foiré™. Il s'efforce d'interpréter votre chaîne, et peut assez facilement se tromper avec vous étant pas plus sage. Utilisation DateTime.ParseExact lorsque cela est possible.

OriginalL'auteur Lys | 2013-11-20