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