为什么GetCultureInfo()格式在不同的服务器上有所不同?

时间:2018-03-13 01:14:54

标签: c# windows powershell server cultureinfo

我正在使用两台服务器(Server 2012 Std)和(Server 2016)。

2012年,当我运行命令时:

[System.DateTime]::UtcNow.ToString([System.Globalization.CultureInfo]::GetCultureInfo("en-NZ"))

我得到了结果:

  

13/03/2018 12:49:55 a.m。

当我在Server 2016上运行与上面相同的命令时,我回来了:

  

13/03/2018 12:48:42 AM

它们的关键部分是AM / PM格式。我试图理解为什么这些返回不同的结果以及如何使服务器2016输出格式化与第一个相同。这是由于应用程序要求,我无权更改应用程序以格式化字符串,因此我必须以某种方式在操作系统级别解决此问题。

2 个答案:

答案 0 :(得分:4)

请参阅Output of times (AM/PM) changed in Windows 10 when using DateTime.ToString("tt")进行一些讨论。

您似乎无法在不更改应用程序代码的情况下解决此问题。

答案 1 :(得分:0)

我发现了同样的问题,我通过使用以下代码解决了这个问题。不确定这是不是你想要的。

[System.DateTime]::UtcNow.ToString("dd/MM/yyyy hh:mm:ss tt")