当我运行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
将要执行的操作,尽管没有明确记录)。