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変換など、多くの活用方法があります。本記事で紹介した使い方を活用し、日付を適切に管理するスクリプトを作成してみてください。