我有一个在 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
只有在我的应用程序中,最后一次访问时间是错误的。我是在尝试访问错误的属性,还是有其他方法可以获取最后一次访问时间?
更新:
事实证明,它File.GetLastAccessTime(file.Path);
确实返回了命令行上报告的正确时间。我选择了 StorageFile 路线,因为该应用程序是沙盒化的,并且之前没有尝试过基于路径的 API。
以上所有假设首先将文件系统设置为跟踪上次访问日期。