【发布时间】:2011-10-17 01:16:45
【问题描述】:
GetFileAttributesEx 返回文件系统返回的日期,未经修改。 NTFS 以 UTC 存储日期,而 FAT 以本地时区存储它们。不知道时区,约会是毫无价值的。
可靠地获取 UTC 文件的最后修改日期的最佳方法是什么? 最好的方法真的是检查 NTFS 与 FAT 吗?如果您使用不同的文件系统怎么办?我可以使用不同的 API 吗?有人可以在这里发布一些优雅的代码吗?
【问题讨论】:
-
该函数可能会返回“未修改”时间戳,但仍需要将 FAT 时间格式转换为 FILETIME 格式。它可能在内部调用
DosDateTimeToFileTime,但该函数的文档似乎没有启发性。 -
好问题 - 我处于同样的情况,而且我希望有人只是粘贴一个可以做到这一点的函数,以避免为了填写 MSDN 文档的位置而进行研究是朦胧的。例如,他们在msdn.microsoft.com/en-us/library/ms724926(VS.85).aspx 给出了一个示例,这似乎假设文件时间总是以 UTC 格式返回...
标签: winapi filesystems