VBScript の DateDiff 関数の変換
定義: 2 つの日付の間隔を数値で返します。
DateDiff
VBScript の DateDiff 関数は、2 つの日付時刻値の間の時間 (月、週、日、時間など) を求めるときに使用されます。Windows PowerShell では、このような日付の計算は、New-TimeSpan コマンドレットを使用して行います。
たとえば、次のコマンドは、現在の日付時刻と、2006 年 12 月 31 日午後 11 時 30 分との間の時間を計算するものです。なお、Get-Date コマンドレットは、2 つの日付時刻値を作成するのに使用されます。また、Get-Date コマンドの前にはドル記号 ($) が付けられ、各コマンドはかっこで囲まれています。これにより、Windows PowerShell でまず 2 つの日付時刻値を計算してから、New-TimeSpan を使用して時間間隔を計算します。
コマンド ラインは次のようになります。
$a = New-TimeSpan $(Get-Date) $(Get-Date -month 12 -day 31 -year 2006 -hour 23 -minute 30)
このコマンドを実行して $a の値をエコーバックすると、次のような結果が得られます (もちろん、現在の日付時刻によって結果は異なります)。
Days : 109
Hours : 3
Minutes : 55
Seconds : 0
Milliseconds : 0
Ticks : 94317000000000
TotalDays : 109.163194444444
TotalHours : 2619.91666666667
TotalMinutes : 157195
TotalSeconds : 9431700
TotalMilliseconds : 9431700000
2 つの日付の間の日数だけを取得する場合は、Days プロパティの値だけをエコーバックしてください。
$a.Days