PowerShell:有和没有字符串插值的不同结果(使用 Get-Date -DisplayHint Time)
PowerShell: different result with and without string interpolation (with Get-Date -DisplayHint Time)
当我运行Get-Date -DisplayHint Time
时,输出为10:30:19
.
当我运行"$(Get-Date -DisplayHint Time)"
时,输出为02/15/2018 10:30:15
。
为什么不同?
PSVersion = 5.1.16299.98
因为 -DisplayHint
是一个显示提示。该 cmdlet 的结果仍然是一个 DateTime
对象。在字符串中,表达式不算作 "displayed",您会得到...其他内容。 (奇怪的是,这不是简单 .ToString()
的结果)。如果你想在字符串中使用依赖于语言环境的长时间格式,请使用 "$(Get-Date -Format 'T')"
(这显然是 -DisplayHint Time
会做的,尽管没有明确记录)。
当我运行Get-Date -DisplayHint Time
时,输出为10:30:19
.
当我运行"$(Get-Date -DisplayHint Time)"
时,输出为02/15/2018 10:30:15
。
为什么不同?
PSVersion = 5.1.16299.98
因为 -DisplayHint
是一个显示提示。该 cmdlet 的结果仍然是一个 DateTime
对象。在字符串中,表达式不算作 "displayed",您会得到...其他内容。 (奇怪的是,这不是简单 .ToString()
的结果)。如果你想在字符串中使用依赖于语言环境的长时间格式,请使用 "$(Get-Date -Format 'T')"
(这显然是 -DisplayHint Time
会做的,尽管没有明确记录)。