PowerShell: 今日の日付と現在時刻を取得する
PowerShellで今日の日付や現在の時刻を知りたい場合、 Get-DateコマンドレットやDateTimeクラスのNowプロパティを使います。 どちらも現在の日付・時刻をDateTimeオブジェクトとして取得するため 結果は同じになります。 DateTimeクラスは.NET Frameworkのクラスの1つです。
今日の日付と現在時刻を取得
次のコードは「Get-Date」と 「Nowプロパティ」の2つの方法で現在日時を取得しています。 どちらでも結果は同じですから好きな方を使ってください。
Get-Date [datetime]::Now # 実行結果 2022年1月28日 3:56:08 2022年1月28日 3:56:08
日付だけで時刻が不要の場合はDateTimeクラスのTodayプロパティでも 取得できます。Todayプロパティの時刻情報は0:00:00(0時)になります。
[datetime]::Today # 実行結果 2022年1月28日 0:00:00
フォーマットを指定する場合、 Get-Dateコマンドレットは-Formatパラメータ、 NowプロパティはtoStringメソッドを使います。
Get-Date -Format "yyyy/MM/dd" [datetime]::Now.ToString("yyyy-MM-dd") # 実行結果 2022/01/28 2022-01-28
年・月・日のみを取得
年、月、日のみを取得する場合、 DateTimeクラスの各プロパティを使用します。
内容 | プロパティ |
---|---|
年 | Year |
月 | Month |
日 | Day |
次のコードは今日の日付情報から年・月・日だけを取得しています。
$d = [datetime]::Now $d $d.Year $d.Month $d.Day # 実行結果 2022年1月28日 4:14:38 2022 1 28
「$d = [datetime]::Now」の部分は「$d = Get-Date」でも同じです。
時・分・秒・ミリ秒のみを取得
時、分、秒、ミリ秒のみを取得する場合も、 同じくDateTimeクラスの次の各プロパティを使用します。
内容 | プロパティ |
---|---|
時 | Hour |
分 | Minute |
秒 | Second |
ミリ秒 | Millisecond |
次のコードは今日の日時情報から時・分・秒・ミリ秒だけを取得しています。
$d = [datetime]::Now $d $d.Hour $d.Minute $d.Second $d.Millisecond # 実行結果 2022年1月28日 4:19:32 4 19 32 671
(まとめ記事: PowerShell 日付・時刻)