【发布时间】:2021-06-27 18:33:09
【问题描述】:
我的脚本需要一些时间,所以我在不同的地方做一个写主机只是为了显示进度。我只想有时间,但是当我将 Get-Date -DisplayHint Time 添加到字符串时,它会输出日期和时间(也是 24 小时格式)。
如果我在提示符下运行 Get-Date -DisplayHint Time,它工作正常。如果我把它放在脚本中单独的行,它就可以正常工作。
我试过了:
Write-Host "Starting Script at $(Get-Date -DisplayHint Time)"
Output:
Starting Script at 03/30/2021 14:56:20
我试过了:
$runTime = Get-Date -DisplayHint Time
$runTime
Write-Host "Starting Script @ $runTime"
Output:
11:01:09 AM
Starting Script @ 03/31/2021 11:01:09
就它自己而言:
Get-Date -DisplayHint Time
Output:
10:49:24 AM
什么给了?
---编辑--- 也只是尝试将时间转换为这样的字符串:
(Get-Date).ToString('h:mm:ss')
$runTime = (Get-Date).ToString('h:mm:ss')
$runTime
$runTime.GetType()
Write-Host ''
Write-Host "Starting Script @ $((Get-Date).ToString('h:mm:ss'))"
Write-Host "Starting Script @ $runTime"
Output:
11:12:40
11:12:40
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
Starting Script @ 11:12:40
Starting Script @ 11:12:40
那么如果 $runTime 现在是一个字符串,为什么它会在 Write-Host 中运行?
【问题讨论】:
-
为什么
Write-Host中不显示字符串? -
也许我不明白你的问题;您是否要求仅时间输出:
Get-Date -Format 'HH:mm:ss'? -
试试
Write-Host "Starting Script @ $($runTime.DateTime)"。
标签: string powershell