负 30 分钟的 GetDate 并以 UTC 显示

GetDate with minus 30 minutes and display in UTC

我正在尝试以 -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) .

将本地时间点格式化为问题中显示的格式:

[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.