我在这里有一个很奇怪的。程序没有遵循Windows机器的日期格式(它可以被覆盖的地方吗?)
在一个简单的Windows窗体应用程序我写了下面的C#代码
MessageBox.Show("Todays date is: "+DateTime.Today.ToShortDateString());
运行这通常只是显示由Windows指定的格式的日期(在该区域设置)。 (所以在我的机器设置为丹麦本地,它显示日期为dd-MM-yyyy => 13-10-2017)这是预期的。
但我有一个客户的服务器(Windows Server 2012),如果情况并非如此。在他们的设置中,Windows区域设置与我的一样(dd-MM-yyyy),但尽管上面的简单代码显示为MM/dd/yyyy => 10/13/2017这是美式格式。
我只是不明白这一点,使它更神秘,它只是对这个服务器上的一些Windows用户(有些显示格式为窗口中的时钟和其他格式不变)。
我一直在Google上搜索,如果有某种.NET设置可以覆盖用户级别但没有发现任何东西。
代码中没有什么文化和任何特殊的东西(只是文件>新项目> Winform [Targeting .net 4.5]和上面的代码行)。
你想尊重窗口设置,例如如果用户在那里选择了“en-US”,会发生什么情况?你可以[强制丹麦语区域](https://stackoverflow.com/q/468791/1997232)。 – Sinatr
我不想在这里强迫任何东西。我只希望我的程序能够遵循Windows区域设置中选择的内容 – RWJ
该代码是否在该服务器上执行?并且该服务器的实际区域设置是否正确,或者只是显示格式?两者可以不同。 – DonBoitnott