PowerShellで日付を処理する際は[Get-Date]コマンドレットを利用します。○日前の日付取得の方法とFormatによる出力フォーマットの指定方法は簡単に見つかるのですが、その2つを組み合わせた方法について紹介します。後半ではそれぞれの詳細について説明します。
○日前の日付を取得してFormatで出力フォーマットを指定する
組み合わせた方法は14行目になります。ToStringを利用した後にFormatをしてます。
# 現在日時を取得する
Get-Date
2019年12月31日 10:24:18
# 30日前のに日時を取得する
(Get-date).AddDays(-30)
2019年12月1日 10:24:18
# 現在日時をフォーマットを指定して取得する
Get-Date -Format "yyyy/MM/dd"
2019/12/31
# 30日前のに日時をフォーマットを指定して取得する
(Get-date).AddDays(-30).ToString("yyyy/MM/dd")
2019/12/01
○日前/○日後の日付を取得する
AddDaysを利用します。○日前にするにはマイナスの値にします。
# 30日後の日時を取得する
(Get-date).AddDays(30)
2020年1月30日 10:34:22
# 30日前の日時を取得する
(Get-date).AddDays(-30)
2019年12月1日 10:34:22
日以外の時間や月でも同様に日付処理ができます。
メソッド | 説明 |
---|---|
AddDays | 現在日時に指定した日数を加算 |
AddHours | 現在日時に指定した時間を加算 |
AddMilliseconds | 現在日時に指定したミリ秒を加算 |
AddMonths | 現在日時に指定した月数を加算 |
AddSeconds | 現在日時に指定した秒を加算 |
AddYears | 現在日時に指定した年数を加算 |
Formatで出力フォーマットを指定する
”-Format” オプションで指定できる主な出力フォーマットは以下になります。
書式 | 取得する情報 |
yyyy(またはYYYY) | 年(西暦4桁) |
yy(またはYY) | 年(西暦下2桁) |
MM | 月(01~12) |
dd | 日(01~31) |
HH | 時(00~23) |
hh | 時(01~12) |
mm | 分(00~59) |
ss | 秒(00~59) |
また、短縮されたフォーマットも利用できます。
Get-Date -Format G # 2019/12/31 10:47:58
Get-Date -Format M # 12月31日
Get-Date -Format O # 2019-12-31T10:47:58.3975663+09:00
Get-Date -Format R # Tue, 31 Dec 2019 10:47:58 GMT
Get-Date -Format s # 2019-12-31T10:47:58
Get-Date -Format t # 10:47
Get-Date -Format T # 10:47:58
Get-Date -Format u # 2019-12-31 10:47:58Z
Get-Date -Format U # 2019年12月31日 1:47:58
Get-Date -Format Y # 2019年12月
以上です。
コメント