PowerShell 中的时间格式

Time format in PowerShell

我希望以下 PowerShell 脚本输出不包含来自 table 的日期部分。


10/21/2017 16:49 | Systrax Restore Point

当前输出为:

@{Date=10/21/2017 12:40} | Systrax Auto Restore Point

这是我脚本的一部分:

$creationtime = Get-ComputerRestorePoint | Select-Object @{Label="Date"; Expression={"{0:MM/dd/yyyy HH:mm}" -f $_.ConvertToDateTime($_.CreationTime)}}
$restorepoint = (Get-ComputerRestorePoint).Description
if ($restorepoint -eq $null){
    Enable-ComputerRestore -Drive "C:\"
    Checkpoint-Computer "Systrax Auto Restore Point"
    Write-Host "No restore points, Auto Creating..."
    Exit 1010
}
else {
    Write-Host "$creationtime | $restorepoint"
    Exit 0
}

您可以使用 -f 格式运算符在您计算的 属性:

中格式化生成的 DateTime 对象
... |Format-Table @{Label="Date"; Expression={"{0:MM/dd/yyyy HH:mm}" -f $_.ConvertToDateTime($_.CreationTime)}}

另一种选择是在对象上调用 ToString()

... |Format-Table @{Label="Date"; Expression={$_.ConvertToDateTime($_.CreationTime).ToString("MM/dd/yyyy HH:mm")}}

或者您可以让 Get-Date 为您完成:

... |Format-Table @{Label="Date"; Expression={$_.ConvertToDateTime($_.CreationTime) |Get-Date -Format "MM/dd/yyyy HH:mm"}}