日付計算の実行
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)