我有一个用C#编写的控制台应用程序,它使用DateTime.Now。将Windows区域设置为“英语(美国)”时,短日期输出为M/d/yyyy。我的应用程序在文化格式设置为“英语(加拿大)”并且短日期格式设置为dd/MM/yyyy的机器上运行了一个实例。由于我希望在不同服务器上的应用程序内保持一致,因此我将Windows的“区域”设置中的短日期格式更改为M/d/yyyy。但是,我的应用程序仍在输出DateTime.Now作为dd/MM/yyyy。是否还有其他需要更改的应用程序以我指定的格式输出?DateTime.Now日期格式和Windows设置
我这样做在不同的地方,但这里有一个例子:
TimeZoneInfo customTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime thisTime = TimeZoneInfo.ConvertTime(DateTime.Now, customTimeZone);
//The below output is not formatted how the Windows Region short date is specified.
Console.Writeline(thisTime);
在这种情况下,我的日期时间没有格式化它在Windows地区设置是如何规定的。
只需执行你喜欢的格式。 – phadaphunk 2015-01-09 19:18:15
请显示一些执行输出的实际代码。我完全第二次大写,改变当地的环境可能不是正确的做法。 – Codor 2015-01-09 19:19:01
是的,这将工作。但是,我不明白为什么更改Windows设置不会强制执行我指定的日期格式。 – kittyhawk 2015-01-09 19:19:53