我犯了一个愚蠢的错误。
我在XP中设置区域设置之前安装了.Net,现在DateTime.Now
将日期设置为12/01/2009,而不是2009年12月12日。
我确定有一种简单的方法可以更改.Net运行时配置,但是我不记得它是什么。
更改Windows区域设置,应自动将其选中。最糟糕的是,您可能必须重新启动。我不相信.NET安装时区域设置会永久存储在任何地方。
对于ASP.NET,我认为您可以使用http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
对于WinForms和WPF应用程序,我通常重写Thread.CurrentThread.Culture和UICulture。
以上答案均不正确。
解决我的问题的正确方法是修改我的用户帐户的区域设置,然后在注册表中将控制面板\国际密钥导出到文件中。然后,对于每个其他用户,导出相同的密钥并从第一个覆盖正确的UK设置(以及正确的reg密钥)。
更新后,将每个用户的设置重新运行到注册表中,所有问题都解决了。问题与安装到DotNet时创建的应用于ASPNET用户的区域设置有关。