为什么 GetCultureInfo() 在不同服务器上的格式不同?
Why would GetCultureInfo() format differently on different servers?
我正在使用两台服务器 (Server 2012 Std) 和 (Server 2016)。
2012 年我 运行 命令:
[System.DateTime]::UtcNow.ToString([System.Globalization.CultureInfo]::GetCultureInfo("en-NZ"))
我得到了结果:
13/03/2018 12:49:55 a.m.
当我 运行 在我的服务器 2016 上执行与上面相同的命令时,我返回:
13/03/2018 12:48:42 AM
它们的关键部分是 AM/PM 格式。我试图了解为什么这些返回不同的结果以及如何使服务器 2016 输出的格式与第一个相同。这是由于应用程序要求,我无权更改应用程序以格式化字符串,因此我必须以某种方式在 OS 级别解决此问题。
查看 Output of times (AM/PM) changed in Windows 10 when using DateTime.ToString("tt") 以对此进行一些讨论。
您似乎无法在不更改应用程序代码的情况下解决此问题。
我发现了同样的问题,并且能够通过使用以下代码解决该问题。不确定这是否是您要找的。
[System.DateTime]::UtcNow.ToString("dd/MM/yyyy hh:mm:ss tt")
我正在使用两台服务器 (Server 2012 Std) 和 (Server 2016)。
2012 年我 运行 命令:
[System.DateTime]::UtcNow.ToString([System.Globalization.CultureInfo]::GetCultureInfo("en-NZ"))
我得到了结果:
13/03/2018 12:49:55 a.m.
当我 运行 在我的服务器 2016 上执行与上面相同的命令时,我返回:
13/03/2018 12:48:42 AM
它们的关键部分是 AM/PM 格式。我试图了解为什么这些返回不同的结果以及如何使服务器 2016 输出的格式与第一个相同。这是由于应用程序要求,我无权更改应用程序以格式化字符串,因此我必须以某种方式在 OS 级别解决此问题。
查看 Output of times (AM/PM) changed in Windows 10 when using DateTime.ToString("tt") 以对此进行一些讨论。
您似乎无法在不更改应用程序代码的情况下解决此问题。
我发现了同样的问题,并且能够通过使用以下代码解决该问题。不确定这是否是您要找的。
[System.DateTime]::UtcNow.ToString("dd/MM/yyyy hh:mm:ss tt")