下面的代码段取自更大的上下文。我想按照创建时间顺序对文件进行排序。问题是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个零不是纯粹的巧合。 :)
我想添加一个有效日期,当我将鼠标悬停在调试器中的日期上时。
答案 0 :(得分:0)
NSDate 的分辨率高于1秒。但文件系统(iOS上的HSFX)却没有。因此,如果您读取文件的创建日期,则小数部分将始终为零。
此外,您不输出 NSDate ,而是输出 double 号码。因此,最后的六个零是来自%f
格式化模式的工件。