File.SetLastWriteTimeUtc用于临时目录

时间:2012-12-12 15:02:36

标签: c# windows

如果在用户临时目录中应用了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;
}

有人可以解释这种行为吗?

0 个答案:

没有答案