2016-09-06 8 views
-1

Windowsのファイルエクスプローラでは、の日付というタブに基づいてファイルを並べ替えるオプションがあります。私はコード(C#)のファイルの日付情報を取得したいと思います。ファイルの日付属性の取得

(これは最終を作成しとを変更した日付とは異なり、また、File.GetLastWriteTime()方法により提供日から。)

どのようにそれは可能ですか?

+0

エクスプローラのカテゴリには「変更日」というラベルが付けられており、実際には「File.GetLastWriteTime」メソッドに対応しています。どうやって別の日付を取得していますか? –

+0

@CodyGray実際には「日付」列もありますが、デフォルトでは表示されません。 – hankide

+1

"Date"が作成日であるように私に見えます。問題はもっとはっきりしているかもしれません。多分、矛盾は現地時間とUTC時間のどちらかですか?私たちは推測する必要はありません。 –

答えて

0

Date列は、作成日と変更日を比較し、それらの2つ前の日を返します。 Fileクラスを使用して直接取得する方法はありませんが、自分で比較を行い、以前の値を使用することができます。

は、ここでは、2つの日付の早いを取得する(非常に読みやすいではないが)簡単な方法です:

new DateTime(Math.Min(yourFile.GetCreationTime().Ticks, yourFile.GetLastWriteTime().Ticks)) 

ここもDate列は常にDate modifiedDate createdの以前の一つである示してスクリーンショットです。 Date column differences

編集:変更日の理由は、以前の作成日よりであることは、私の例では、ファイルだけでzipアーカイブから解凍されていることです。

+0

修正日が創造日よりも早くなる可能性があるということに、心は驚いています。おそらく、あなたは2人の*最近の*(つまり、後で)を選ぶことを意味しましたか? –

+0

アーカイブを扱うときは確かに可能です。スクリーンショットのファイルがzipファイルからディスクに解凍されたばかりであることは言及していませんでした。 – hankide

+0

論理的に見えます、ありがとうございます! – florien

関連する問題