2011-08-19 38 views
0

我们错误地建立了一个具有美国文化的服务器。后来我将区域设置,区域设置和IIS全球化更改为en-GB。机器文化与日期时间

但是,我遇到了我写的Windows服务的问题。每当DateTime.ToString()完成时,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代码。它应该只使用英国格式,因为它在机器设置中随处可见。

也许我错过了一个设置?除了更改代码之外,有没有人有任何建议?

回答

2

当您使用控制面板更改区域设置时,您需要选中复选框“将所有设置应用于当前用户帐户和默认用户配置文件”。在XP中,这是在区域和语言选项的高级选项卡上。

您的Windows服务大概是在没有配置文件的帐户下运行(例如LocalSystem),因此将使用默认的用户配置文件设置。

您还可以使用RegEdit检查默认用户配置文件的区域设置 - 它们位于注册表项HKEY_USERS\.DEFAULT\Control Panel\International之下。但是我会考虑更改代码--Windows服务通常应该不知道机器的文化,并且您将避免维护难题。

如果您的Windows服务在系统上运行
+0

服务必须在此更改后重新启动。 – NetRat

+0

我提到它是一个服务器,所以不得不去区域设置 - >管理 - >复制。 – Edgar

1

帐户,您需要应用正确的(EN-GB)的语言设置also to reserved accounts

+0

其他答案是第一个,但这也有帮助。 – Edgar

+0

这个链接似乎被打破(6年后,并不感到惊讶):( – Jay