2017-10-30 79 views
1

PowerShellでdatetimeオブジェクトの日付部分のみを取得することはできますか?理由は、今日の日付とファイルのLastWriteTimeプロパティを比較して、ファイルをバックアップするかどうかを判断する必要があるためです。 datetimeオブジェクトは、同様に時間が含まれているとして、私はのような何かを行うときは常にfalseと評価される:PowerShellのdatetimeオブジェクトを時刻部分なしで取得する

if ($fileDate -eq $currentDate) { 
    # Do backup 
} 

を私はこれを行うには、とにかく見つかっていません。書式演算子またはメソッドを使用する場合は、オブジェクトを文字列オブジェクトに変換します。それをdatetimeオブジェクトに変換しようとすると、そのオブジェクトに時間が戻されます。おそらく単純なものかもしれませんが、私はしばらくこのスクリプトを見てきましたが、それが壊れている最後の部分です。

答えて

0

これは、datetimeの時間を削除する方法にはなりませんが、バックアップする時期を特定するための検証目的を実行するためには役に立ちません。

バックアップを実行するために合計時間がすでに満たされている場合は、指定した2つの日付の値を減算して結果を比較することをお勧めします。

if (($currentDate - $fileDate).TotalDays > 7) { 
# Do Backup 
} 

あなたも、私はこの1つを受け入れるだろう、次の

Days    : 
Hours    : 
Minutes   : 
Seconds   : 
Milliseconds  : 
Ticks    : 
TotalDays   : 
TotalHours  : 
TotalMinutes  : 
TotalSeconds  : 
TotalMilliseconds : 
+0

のために検証することができます。 .TotalDays -eq 0比較を使用して確認することができるように見えます。ありがとう! –

関連する問題