我正在研究日期和时间的本地化代码,当文化设置为保加利亚语时,我看到了一种奇怪的行为,而我输入的日期是 11 月。
本质上,我正在尝试调用:
if (DateTime.TryParse(theDateToParse, formatProvider, DateTimeStyles.None, out localDate))
{ //Do code work here }
其中 theDateToParse = 15-Нов-2013 15:20:39 (此值来自 jquery 日期选择器,附加时间,为 11 月 15 日),formatProvider 是 bg-BG 文化信息。
测试其他价值观和其他文化,问题似乎是 bg-BG 文化中 11 月的任何日期所特有的。此外,如果我将其更改为使用完整的月份名称,它可以正确解析它。
为了验证这个理论,我反其道而行之,为每个月的一天创建了一个 dateTime 对象,并使用 dd-MMM-yyyy 格式将它们转换为字符串。对于每个月,我都有一个缩短的月份名称,除了 11 月,我有一个完整的月份名称。
我只是想看看是否有人对为什么会发生这种情况有任何背景,或者有任何聪明的解决方案来使这个案例有效。我花了一些时间搜索,我什至找不到遇到同样问题的人。