2016-07-25 8 views
1

ディレクトリ内の最新ファイルの日付に基づいて、特定の日より古いファイルをフィルタリングしようとしています。DateTimeオブジェクトから暦日の開始を取得するにはどうすればよいですか?

私はLastWriteTimeを得ることができます。正確な時刻は、たとえばファイルによっては7/24/2016 10:48 AMとなります。

の部分をオブジェクトから除去して、代わりに7/24/2016 12:00 AMと比較できますか?

答えて

1

同日深夜の新しいDateTime値を取得するにはDate propertyを使用します。Get-ChildItemGet-Itemによって返さSystem.IO.DirectoryInfoSystem.IO.FileInfoインスタンスの

> $file.LastWriteTime 

Sunday, July 24, 2016 10:48:00 AM 


> $file.LastWriteTime.Date 

Sunday, July 24, 2016 12:00:00 AM 
0
$thing.LastWriteTime.Day # e.g. 10, (10th day of the month) 

$thing.LastWriteTime.DayOfWeek # e.g. Wednesday 
+1

(Get-ChildItem \).LastWriteTime 

を比較します。最後の文に基づいて、著者は、その曜日または月の日ではなく日付を望む。 – BACON

+0

@BACON申し訳ありませんが、それ以外の言葉遣いは分かりませんでした。代わりに「日付」と言わなければならないでしょうか? – guineawheek

+0

@guineawheek私が最初に質問を見たときも、私はあなたが 'DayOfWeek'プロパティを探していると思っていました。はい、.NETの世界では(一般的でない場合)、「年月日」の組み合わせを表す「日付」を使用します。しかし、あなたが 'Date'プロパティについて知らなかったら、あなたはそれをそれと呼ぶことは知らなかったでしょう。しかし問題はない。時には答えが問題の言葉に役立ちます。 – BACON

1

LastWriteTimeプロパティは、タイプSystem.DateTimeのインスタンスを返します。 。
(と確認:(Get-Item \).LastWriteTime.GetType().FullName

System.DateTimeは時間(日付+時間)における点を表す、しかしで真夜中に設定時刻部分と別のSystem.DateTimeインスタンスを返す.Date性質を有します開始の入力日付。実質的に日付のみを表します。

は、質問のタイトルは誤解を招くおそれがあり

(Get-ChildItem \).LastWriteTime.Date 
関連する問題