PowerShellのGet-Dateコマンドレット
のFormat
オプションのu
を利用した場合のメモ。
今回実行した環境
PowerShell 7.3.2
ドキュメント
Standard date and time format strings
タイムゾーンが大阪、札幌、東京の端末で実行してみる
Get-Date -Format "u"
現在のローカル時間をそのままオフセット考慮せずにutcとして出力するようです。
たとえば日本時間 2023年2月22日 09:00:00 にGet-Date -Format "u"
と実行すると、2023-02-22 09:00:00Z
と返却されます。
上記のケースで2023-02-22 00:00:00Z
としたい場合は、下記のいずれかの方法でできました。
- Get-Date -AsUTC -Format "u" とAsUTCオプションを追加する。(
AsUTC
はPowerShell 7.1から追加されたオプション) -
[DataTimeOffset]
にしてから.ToString("u")
で出力
Get-Date
Get-Date -Format "u"
# AsUTCはPowerShell 7.1で導入されたオプション
Get-Date -AsUTC -Format "u"
([DateTimeOffset](Get-Date)).ToString("u")
総評
PowerShellで日付周りは実際に実行してみると、自分だけかもしれませんが、そうなるのかといった動作がある気がします。
確認しながら、齟齬がないように気をつけたい所です。