powershell - PowerShell - 日期时间格式更改
问题描述
使用 Out-File 和 Write-Host 时格式化日期时遇到问题,但使用 $StartDate1 时格式正确。
$StartDate1 = ([datetime]::today.AddDays(-1).addhours(00))
$ExchangeOnlineResults = {"Email count for: " + $StartDate1}
& $ExchangeOnlineResults | Out-File .\test.txt
在 PowerShell 中返回时格式正确:
$StartDate1
09 March 2021 00:00:00
但是 Write-Host & Out-File 显示:
Write-Host $StartDate1
09/03/2021 00:00:00
我确信这是我正在监督的基本内容。
解决方案
您在 PowerShell 中返回的是对象的表示。当您写入主机或将其保存在某处时,您需要指定所有数据的格式。您可以使用 . 检查对象并查看所有各种数据$startDate1 | Get-Member
。
Microsoft 在这里很好地概述了格式类型:
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
获取和操作日期的 PowerShell 方法如下:
(Get-Date).AddDays(-1) | Get-Date -Format 'dd MMMM yyyy HH:mm:ss'