Win8和Win7在同一文化上有不同的CultureInfo吗? (不同的dateSeparator)

时间:2014-07-24 15:53:04

标签: c# windows visual-studio-2010 cultureinfo culture

datepicker Uncaught Unexpected literal at position 2突然出现意外错误时,我将所有信息和项目从Win7移至Win8。

我将CurrentCulture设置为es-VE,如下所示: System.Threading.Thread.CurrentThread.CurrentCulture = New CultureInfo("es-VE")

在我的调试过程中,我发现问题是我的CultureInfo.CurrentCulture.DateTimeFormat

Win7设置如下: enter image description here

Win8设置如下: enter image description here

正如您所看到的dateSeparator更改而导致Javascript异常导致其期望dd / mm / yyyy而不是dd-mm-yyyy

关于如何解决这个问题的任何想法?

这是微软的错误吗?

我做错了吗?

提前致谢!

更新: 控制面板,两台机器上的设置都相同。

enter image description here

1 个答案:

答案 0 :(得分:0)

我们对数据进行了更改,因为我们了解了可用的更好数据。你永远不应该假设数据是相同的。最佳做法是确保使用标准格式(日期为ISO 8601)存储或传输任何持久数据。本地化数据应该是短暂的。

顺便说一句,控制面板设置只允许覆盖用户区域设置,但如果用户区域设置恰好是有问题的文化,则可以进行更改(应用程序不应对数据做出假设的另一个原因)改变)。