あるファイルの更新日を下記のような感じで取得し、
テキストボックスに表示したいのですが,
ファイルの更新日より1、2秒多く表示されることがあり、
困っています。正しく表示させるためにはどうしたらいいのか
教えてください。お願いします。
filetime:= FileDateToDateTime(FileAge(filename));
edit1.text:=DateTimeToStr(filetime);
FileAgeは、FileTimeToDosDateTimeで一度DOSの日付日付形式に変換しています。
これは、制度が2秒ですので、1〜2秒の誤差が生じます。
http://hp.vector.co.jp/authors/VA009712/take/delphi/kabesys.htm
にある、「ファイルの日付と時刻を得る(高度版)」を参照してください。
このページも参考になりそうですね。
http://www2f.biglobe.ne.jp/~kana/susie_trouble.html
にしのさん、ふぐちゃんさんありがとうございます。
ファイルの更新日は表示はしていませんがミリ秒まであったんですね。
FileAge(filename)では
ミリ秒を切り上げて表示するので誤差が出るんですね。
理解できました。
ありがとうございました。
忘れてました^^;
ツイート | ![]() |