What "neutral culture" breaks DateTime.TryParse ()?

I have the following code snippet

DateTime date1;
CultureInfo neutralCulture = new CultureInfo("fr");
bool isNeutral = neutralCulture.IsNeutralCulture; // True

DateTime.TryParse("not a date", neutralCulture, DateTimeStyles.AdjustToUniversal, out date1);

Which is done without exception, but the documentation states

NotSupportedException: The provider is a neutral culture of a and cannot be used in a parsing operation.

"fr"is a neutral culture a , as evidenced by the property above the object CultureInfo, so I expect this code to break.

What "neutral culture" violates this method - is it documented somewhere?

+4
source share
1 answer

, , :

CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
foreach (var thisCulture in cultures)
{
    DateTime date1;
    CultureInfo neutralCulture = new CultureInfo(thisCulture.Name);
    bool isNeutral = neutralCulture.IsNeutralCulture; // True

    DateTime.TryParse("not a date", neutralCulture, DateTimeStyles.AdjustToUniversal, out date1);
}

, . ? .

+2

Source: https://habr.com/ru/post/1682519/


All Articles