2016-09-06 63 views
-1

在windows文件資源管理器中,可以根據名爲日期的選項卡對文件進行排序。我想用代碼(C#)獲取文件的日期信息。獲取文件的日期屬性

(這是從日期最後修改創建不同,也從由File.GetLastWriteTime()方法提供的日期。)

這怎麼可能?

+0

資源管理器中的類別標記爲「修改日期」,它實際上對應於'File.GetLastWriteTime'方法。你如何得到不同的日期? –

+0

@CodyGray實際上還有一個「日期」列,但它並未默認顯示,我認爲。 – hankide

+1

在我看來,「Date」是創建日期。這個問題可能會更清晰。也許差異是當地時間與UTC時間之一?我們不應該猜測。 –

回答

0

Date列將創建和修改日期進行比較,並返回這兩者中的較早者。儘管沒有直接的方法可以使用File類,但您可以自己進行比較並使用較早的值。

下面是一個簡單的(雖然不是很可讀)的方式來獲得兩個日期較早:

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

這裏也是一個截屏,顯示Date列始終是較早的Date modifiedDate created之一。 Date column differences

編輯:之所以修改日期早於創建日期是是,在我的例子中的文件剛剛從一個zip壓縮文件解壓縮。

+0

在修改日期如何早於創建日期的情況下,頭腦會變得越來越難以理解。也許你的意思是它選擇了最近的*(即後面的)兩個? –

+0

處理檔案當然是可能的。我忘了提及我截圖中的文件剛從zip文件解壓縮到磁盤。 – hankide

+0

似乎是合乎邏輯的,非常感謝你! – florien