VBScript の DateDiff 関数の変換

Windows PowerShell

定義: 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

「VBScript から Windows PowerShell へ」ホーム ページに戻る