我正在尝试以 -30 分钟显示当前日期。并获取 UTC 格式的输出。
以下是我尝试过的事情。
Clear-Host
$dte = Get-Date
$Minusthirty= $dte.AddMinutes(-30)
Write-Output "This is CurrentDate: " $dte
Write-Output "This is Minus30: " $Minusthirty
输出 2020 年 4 月 1 日星期三凌晨 2:38:43
我想将输出显示为“2020-04-01T00:30”
请就此提出建议。
最佳答案
您显示的不是 UTC 格式 - 您所需的输出格式包含一天中的时间部分,但没有 UTC 偏移量 (-00:00
) 或 UTC 指示符 (Z
)。
要按照问题中所示的格式设置本地时间点负 30 分钟的格式:
[datetime]::Now.AddMinutes(-30).Tostring('yyyy-MM-ddTHH:mm')
以相同的格式表示当前 UTC 时间点减去 30 分钟:
[datetime]::UtcNow.AddMinutes(-30).Tostring('yyyy-MM-ddTHH:mm')
注意:
[datetime]::Now
与(Get-Date)
相同。从 PowerShell 7.0 开始,没有与
[datetime]::UtcNow
直接等效的函数(缺少繁琐的(Get-Date).ToUniversalTime()
) >) 但-AsUtc
切换到Get-Date
即将到来,大概是在 7.1 中;请参阅this GitHub pull request .
关于powershell - GetDate 为负 30 分钟并以 UTC 格式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60960351/