我们错误地建立了一个具有美国文化的服务器。后来我将区域设置,区域设置和IIS全球化更改为en-GB。机器文化与日期时间
但是,我遇到了我写的Windows服务的问题。每当DateTime.ToString()完成时,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代码。它应该只使用英国格式,因为它在机器设置中随处可见。
也许我错过了一个设置?除了更改代码之外,有没有人有任何建议?
我们错误地建立了一个具有美国文化的服务器。后来我将区域设置,区域设置和IIS全球化更改为en-GB。机器文化与日期时间
但是,我遇到了我写的Windows服务的问题。每当DateTime.ToString()完成时,它仍然使用US格式。我知道我可以指定我想要字符串的文化,但我不想更改我的所有代码。它应该只使用英国格式,因为它在机器设置中随处可见。
也许我错过了一个设置?除了更改代码之外,有没有人有任何建议?
当您使用控制面板更改区域设置时,您需要选中复选框“将所有设置应用于当前用户帐户和默认用户配置文件”。在XP中,这是在区域和语言选项的高级选项卡上。
您的Windows服务大概是在没有配置文件的帐户下运行(例如LocalSystem),因此将使用默认的用户配置文件设置。
您还可以使用RegEdit检查默认用户配置文件的区域设置 - 它们位于注册表项HKEY_USERS\.DEFAULT\Control Panel\International
之下。但是我会考虑更改代码--Windows服务通常应该不知道机器的文化,并且您将避免维护难题。
帐户,您需要应用正确的(EN-GB)的语言设置also to reserved accounts
服务必须在此更改后重新启动。 – NetRat
我提到它是一个服务器,所以不得不去区域设置 - >管理 - >复制。 – Edgar