線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1911
推到 Plurk!
推到 Facebook!

不同的檔案系統比對檔案時間

答題得分者是:rick060
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-08-24 18:54:49 IP:59.112.xxx.xxx 訂閱
描述:
將檔案從(NTFS 檔案系統)複製到(FAT32 檔案系統)之後,取出時間做比對,結果發現時間有1~2秒的誤差,
這個問題如何解決,還請先進們不吝賜教,謝謝先!
rick060
高階會員


發表:2
回覆:112
積分:217
註冊:2009-11-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-08-25 09:25:56 IP:60.250.xxx.xxx 未訂閱
 參考
http://msdn.microsoft.com/en-us/library/ms724290(v=vs.85).aspx
老大仔
尊榮會員


發表:77
回覆:835
積分:1082
註冊:2006-07-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-08-25 10:49:34 IP:59.120.xxx.xxx 未訂閱
不太確定您的問題是否與以下的文章有相關
不過或許參考此篇文章~

delphi.ktop.com.tw/board.php


===================引 用 g6101 文 章===================
描述:
將檔案從(NTFS 檔案系統)複製到(FAT32檔案系統)之後,取出時間做比對,結果發現時間有1~2秒的誤差,
這個問題如何解決,還請先進們不吝賜教,謝謝先!
編輯記錄
老大仔 重新編輯於 2011-08-24 20:50:31, 註解 無‧
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-08-25 19:45:22 IP:59.112.xxx.xxx 訂閱
感謝 rick060 及 老大仔 所提供的參考資料,我的問題已解決,方法如下:

TDateTime FAT_DateTime = FileDateToDateTime(FileAge(FAT_FileName));
TDateTime NTFS_DateTime = FileDateToDateTime(FileAge(NAFS_FileName));

//先取得 FILETIME 再轉成 DATETIME;
//結果: FAT_DateTime == NTFS_DateTime
//按官方說法,此用法已過時

//(XE)官方建議使用:
//FileAge(NTFS_FileName,NTFS_DateTime); <- 不過,此方法仍有誤差 1~2 秒情形

以上是我測試結果,供大家參考。
系統時間:2017-12-18 14:56:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!