我在Windows 10上运行了一个基本的c#UWP应用程序 .

我正试图获得 StorageFile 的最后访问时间,如下所示:

var basicProperties = await file.GetBasicPropertiesAsync();
var moreProperties = await basicProperties.RetrievePropertiesAsync(
    new string[] { "System.DateAccessed" });
var dateAccessed = moreProperties["System.DateAccessed"];

但是,我得到的日期是错误的 . 它过去太过分了 .

如果我查看Windows资源管理器或命令行中的属性,则日期是正确的,并且每次在我的应用程序中打开文件时都会更新 .

Get-ChildItem '.\test.txt' | select -ExpandProperty lastacc

仅在我的应用中,上次访问时间错误 . 我试图访问错误的属性还是有另一种方式来获取最后的访问时间?

UPDATE

事实证明, File.GetLastAccessTime(file.Path); 确实返回了在命令行上报告的正确时间 . 我去了StorageFile路线,因为该应用程序是沙箱,并且之前没有尝试过基于路径的API .

以上所有假设都假设文件系统设置为首先跟踪上次访问日期 .