New-Timespan コマンドレットの使用

日付計算の実行

New-TimeSpan コマンドレットを使用すると、Windows PowerShell 内で日付計算を実行できます。たとえば、このコマンドを使用すると、今日から 2006 年の大晦日までの日数がわかります。

New-TimeSpan $(Get-Date) $(Get-Date -month 12 -day 31 -year 2006)

このコマンドを 2006 年 5 月 10 日に実行した場合、次の結果が返されます。

Days              : 235
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 0
Ticks             : 203040000000000
TotalDays         : 235
TotalHours        : 5640
TotalMinutes      : 338400
TotalSeconds      : 20304000
TotalMilliseconds : 20304000000

メモ   2006 年 5 月 10 日から 2006 年 12 月 31 日の間に 20,304,000,000 ミリ秒あることがわかっていた方は手を挙げてください。

New-TimeSpan を使用するには、日時値のペアを渡すだけです。この場合、Get-Date メソッドを使用するのが最適な方法です。Get-Date メソッドを使用することで、New-TimeSpan で処理できる日時オブジェクトのペアを確実に取得できます。1 つ目の日付については、追加のパラメータを指定せずに Get-Date コマンドレットを使用します (コマンドレットはかっこで囲む必要があります)。

$(Get-Date)

2 つ目の日付でも Get-Date を使用しましたが、-month-day-year の各パラメータと適切な値を付加しました。

New-TimeSpan $(Get-Date) $(Get-Date -month 12 -day 31 -year 2006)

それでは、さらに具体的な時間 (たとえば 12 月 31 日の 11:30 PM) までの期間を知りたいときはどうすればよいでしょうか。もちろん、問題はありません。-hour パラメータと -minute パラメータと適切な値を指定するだけです (時間については 24 時間形式で指定します)。つまり、次のようにします。

New-TimeSpan $(Get-Date) $(Get-Date -month 12 -day 31 -year 2006 -hour 23 -minute 30)
関連リンク