什么"中立文化"打破DateTime.TryParse()?

时间:2017-07-28 17:42:51

标签: c# .net globalization

我有以下代码段

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

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

然而,在不抛出异常的情况下执行the documentation个状态

  

NotSupportedException: provider 中性文化,不能在解析操作中使用。

"fr" 中立文化,正如上面CultureInfo对象上的属性所示,所以我希望这段代码能够破解。

什么"中性文化"打破这种方法 - 这是在任何地方记录的吗?

1 个答案:

答案 0 :(得分:2)

我对所有中性文化进行了快速测试,甚至没有人抛出异常,如下所示:

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);
}

我不确定从中得出什么结论。文件可能有误吗?谁知道呢。