我有一个非常棘手的问题。这个问题我已经想了好几个小时了,还是没有成功。
我正在构建一个应用程序,该应用程序将部署在具有不同文化的许多机器上。作为预防措施,我决定使用Culture类来帮助在字符串到日期之间进行转换。我注意到当我更改windows操作系统日期时:
10/07/2011至10-07-2011
CurrentCulture没有更新,我看到的日期一直是10/07/2011。为什么呢?有什么变通办法吗?
您需要在IIS环境中(或者在Web.config中更好)更改文化,而不是在操作系统中。这样你就可以保证所有的机器都在相同的文化上工作。
尝试在web.config中添加以下行:
<globalization culture="he-IL" enableClientBasedCulture="false" uiCulture="he-IL" />
只需将he-IL更改为您提供的文化
这对我来说是正确的,但只有在我重新启动我的应用程序之后。我假设当前区域性是在应用程序开始时加载并缓存的,因此,为了使更改生效,您必须重新启动应用程序。
只要该值仍然可以被解释为日期,它将始终被格式化为当前文化。这是故意的。
您需要显式地更改CurrentCulture,以便数据显示(或转换)为新的格式。查看CurrentCulture,看看数据将如何在您的终端上显示。