当前文化和操作系统日期配置

时间:2011-07-10 15:31:55

标签: c# datetime culture

我这里有一个非常棘手的问题。我一直在这个问题上头几个小时没有成功。

我正在构建一个应用程序,以部署在具有不同文化的众多计算机上。 作为预防措施,我决定使用Culture类来帮助在字符串之间进行转换。 当我从以下位置更改Windows操作系统日期时,我注意到了:

10/07/2011至10-07-2011

CurrentCulture没有更新,我一直看到日期为10/07/2011。 这是为什么?有没有解决方法?

3 个答案:

答案 0 :(得分:1)

它对我来说是正常的,但只有在我重新启动我的应用程序之后。我假设当前文化在应用程序启动时加载并缓存,因此,要使更改生效,您必须重新启动应用程序。

答案 1 :(得分:1)

您需要在IIS环境中更改文化(或在Web.config中更好),而不是在操作系统中。 这样你就可以保证所有的机器都能在同一种文化中运作。

尝试将以下行添加到您的web.config:

<globalization culture="he-IL" enableClientBasedCulture="false" uiCulture="he-IL" />

只需将he-IL更改为您提供的文化

答案 2 :(得分:0)

只要该值仍可以解释为日期,它将始终格式化为您的CurrentCulture。这是设计的。

您需要显式更改CurrentCulture,以便数据显示(或转换)为新格式。查看CurrentCulture,了解数据的显示方式。