New-TimeSpanコマンドレットを使う。以下は3秒間を挟んで2つのDateTimeオブジェクトを取得し、それを比較した例。個別の値が欲しい場合は、プロパティを指定すればよい。
PS > $dt1 = Get-Date; Start-Sleep 3; $dt2 = Get-Date PS > New-TimeSpan $dt1 $dt2 Days : 0 Hours : 0 Minutes : 0 Seconds : 3 Milliseconds : 14 Ticks : 30144924 TotalDays : 3.48899583333333E-05 TotalHours : 0.000837359 TotalMinutes : 0.05024154 TotalSeconds : 3.0144924 TotalMilliseconds : 3014.4924 PS > (New-TimeSpan $dt1 $dt2).Seconds 3
New-TimeSpanコマンドレットを使わなくてもDateTimeオブジェクト同士を演算すれば比較をすることができる。この日付時刻を比較した時間間隔を表すオブジェクトは、TimeSpanオブジェクトという。
PS > $dt2 - $dt1 Days : 0 Hours : 0 Minutes : 0 Seconds : 3 Milliseconds : 14 Ticks : 30144924 TotalDays : 3.48899583333333E-05 TotalHours : 0.000837359 TotalMinutes : 0.05024154 TotalSeconds : 3.0144924 TotalMilliseconds : 3014.4924 PS > ($dt2 - $dt1).Seconds 3 PS > $dt1.GetType().FullName System.DateTime PS > ($dt2 - $dt1).GetType().FullName System.TimeSpan