PowerShellでは、現在の日付や時刻を取得するために Get-Date コマンドを使用します。Get-Date を活用することで、システムの日時を取得したり、指定のフォーマットで出力したりすることが可能です。本記事では、Get-Date コマンドの基本的な使い方から、応用例までを詳しく解説します。
PowerShellで現在の日付と時刻を取得するには、Get-Date コマンドをそのまま実行するだけです。
Get-Date 実行すると、以下のように現在の日時が表示されます。
Tuesday, March 3, 2025 19:00:00 PM このように、システムの日時を簡単に取得することができます。
Get-Date コマンドでは、フォーマットを指定することで出力をカスタマイズできます。
Get-Date -Format "yyyy/MM/dd" 出力例:
2025/03/03 Get-Date -Format "HH:mm:ss" 出力例:
19:00:00 Get-Date -Format "dddd" 出力例:
Tuesday システムのタイムゾーンを確認するには、以下のコマンドを実行します。
Get-TimeZone 出力例:
Id : Tokyo Standard Time
DisplayName : (UTC+09:00) Osaka, Sapporo, Tokyo
StandardName : Tokyo Standard Time
DaylightName : Tokyo Daylight Time これを利用して、異なるタイムゾーンの時刻を取得することも可能です。
(Get-Date).ToUniversalTime() Get-Date では、現在の日時から加減算して、特定の日時を取得できます。
(Get-Date).AddDays(-1) 出力例:
Monday, March 2, 2025 19:00:00 PM (Get-Date).AddMonths(1) 出力例:
Thursday, April 3, 2025 19:00:00 PM (Get-Date).AddYears(1) 出力例:
Wednesday, March 3, 2026 19:00:00 PM システムの時刻ではなく、UTC時間を取得したい場合は以下のコマンドを使用します。
(Get-Date).ToUniversalTime() 日時を変数に格納し、あとで使用することもできます。
$now = Get-Date
Write-Output "現在の日時は: $now" 出力例:
現在の日時は: Tuesday, March 3, 2025 19:00:00 PM PowerShellスクリプト内で Get-Date を活用すると、ログのタイムスタンプを自動的に記録したり、特定の期間の処理を実施することが可能です。
$log = "C:\Logs\mylog.txt"
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"[$timestamp] スクリプトが実行されました。" | Out-File -Append -FilePath $log Start-Sleep -Seconds 10
$now = Get-Date
Write-Output "10秒後の時間: $now" Get-Date コマンドは、PowerShellで日付と時刻を取得する基本的なコマンドですが、フォーマットの指定や日時の加減算、UTC変換など、多くの活用方法があります。本記事で紹介した使い方を活用し、日付を適切に管理するスクリプトを作成してみてください。