PowerShell:使用和不使用字符串插值的不同结果(使用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对象。在字符串中,表达式不算作"显示",您将获得...别的。(奇怪的是,这不是简单.ToString()的结果)。如果您希望字符串中包含依赖于区域设置的长时间格式,请使用"$(Get-Date -Format 'T')"(这显然是-DisplayHint Time将要执行的操作,尽管没有明确记录)。

最新更新