解析iOS文件时间戳

时间:2014-05-11 14:54:06

标签: ios objective-c nsdate

下面的代码段取自更大的上下文。我想按照创建时间顺序对文件进行排序。问题是d似乎在几秒钟内,但我想NSDate的分辨率要高得多。是" iOS"中存储时间的分辨率文件系统只在几秒钟内?

文件是在几分之一毫秒内创建的,所以我需要更高的分辨率。有什么建议?

for(NSURL *it in archFiles)
{
  NSDate *date;
  [it getResourceValue:&date forKey:NSURLCreationDateKey error:nil];
  double d = date.timeIntervalSince1970;
  NSLog(@"%@: timestamp:%f", it.path, d);
}

打印输出(我已删除部分路径): /private/var/....archive: timestamp:1399819259.000000

我已经在" iOS模拟器"和#34; iPad模拟器"结果相同。我想最后的6个零不是纯粹的巧合。 :)

我想添加一个有效日期,当我将鼠标悬停在调试器中的日期上时。

1 个答案:

答案 0 :(得分:0)

NSDate 的分辨率高于1秒。但文件系统(iOS上的HSFX)却没有。因此,如果您读取文件的创建日期,则小数部分将始终为零。

此外,您不输出 NSDate ,而是输出 double 号码。因此,最后的六个零是来自%f格式化模式的工件。