1

がユーザー一時ディレクトリに適用される場合File.SetLastWriteTimeUtc、指定されたものとは異なる変更時刻が1〜2秒に設定されます。オンLastWriteTimeは適切に適用されたタイムゾーン(時間の違い)ですが、秒の奇妙な違いもあります。

例:

using System.IO;

string tempDir = System.IO.Path.GetTempPath();
// required new last write datetime 2012-12-05 15:50:15
DateTime newLastWriteTimeUtc = new DateTime(2012, 12, 5, 15, 50, 15, 0);
string testFilePath = Path.Combine(tempDir, "Test.txt");
if (File.Exists(testFilePath))
{
  File.SetLastWriteTimeUtc(testFilePath, newLastWriteTimeUtc);
  FileInfo fInfo = new FileInfo(testFilePath);
  // you get real datetime 2012-12-05 15:50:16
  DateTime lastWriteTimeUtc = fInfo.LastWriteTimeUtc;
}

誰かがこの振る舞いについて説明できますか?

4

0 に答える 0