【问题标题】:"Last Opened" Date“上次打开”日期
【发布时间】:2012-12-12 16:59:14
【问题描述】:

如何获取文件的“最后打开”日期?我知道如何获取修改日期,但我没有找到关于上次使用或上次打开的任何信息。

我想像在 finder 中一样排列我的文件。

感谢您的帮助! (沙盒将不胜感激)

【问题讨论】:

  • 这和 Xcode 有什么关系?
  • 可能是因为你制作应用的方式是这样的?
  • 其实我没有。 IDE != 编程语言 != API 等。编写应用程序不需要 Xcode。

标签: objective-c macos cocoa


【解决方案1】:

您需要查看 Spotlight 元数据 - 您感兴趣的字段是 kMDItemLastUsedDate:http://developer.apple.com/library/mac/#documentation/Carbon/Reference/MDItemRef/Reference/reference.html

【讨论】:

  • 感谢您的快速回复!但是,是否可以在沙盒应用中使用它?
  • 我想最好的方法是尝试一下。
  • 做了一些研究,结果发现重新索引文件时可以更改聚光灯索引
【解决方案2】:

如果你的意思是“最后访问”日期和“最后打开”日期,那么 C 标准库中有一个函数:

#include <sys/stat.h>

struct stat st;
stat("somefile.ext", &st);
time_t accessed = st.st_atime;

【讨论】:

  • 我认为这给出的日期/时间与 Finder 中显示的不同,后者显然使用了 Spotlight 的 kMDItemLastUsedDate 字段。
  • @PaulR 可能是这样,但为什么呢?他们不应该是一样的吗?
  • 我不确定 HFS+ 是否真的存储了 atime,所以可能只是 atime == mtime,因此需要使用 Spotlight。只是猜测......
  • 感谢您的回复。上次访问并不意味着它可以由系统而不是用户打开。此外,根据您的判断,此功能是否适用于沙盒应用程序?
  • @CSS-code IDK 为什么它不能在任何应用程序中工作。此外,这确实意味着它可以被任何东西访问——你不是在寻找那个吗?您没有指定要将此检查限制为用户交互...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多