Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS文件时间戳的解析_Ios_Objective C_Nsdate - Fatal编程技术网

iOS文件时间戳的解析

iOS文件时间戳的解析,ios,objective-c,nsdate,Ios,Objective C,Nsdate,下面的代码片段取自更大的上下文。我想按创建时间的顺序对文件进行排序。问题是d似乎是以秒为单位的,尽管我猜NSDate的分辨率要高得多。“iOS”文件系统中存储时间的分辨率是否仅以秒为单位 这些文件是在几毫秒内创建的,所以我需要更高的分辨率。有什么建议吗 for(NSURL *it in archFiles) { NSDate *date; [it getResourceValue:&date forKey:NSURLCreationDateKey error:nil]; do

下面的代码片段取自更大的上下文。我想按创建时间的顺序对文件进行排序。问题是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/…存档:时间戳:1399819259.000000

我在“iOS模拟器”和“iPad模拟器”上都试过了,结果是一样的。我想结尾的6个零不是纯粹的巧合

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

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


此外,输出的不是NSDate,而是双倍数字。所以结尾的六个零是
%f
格式模式的产物。

可能是No的重复,我不这么认为。但都灵的回答证实了我的假设,我需要用另一种方式来解决这个问题。是的,我知道这是一个双精度的问题,但我担心缺少分数部分。我将这个问题保留了一段时间,只是想看看这类问题通常是如何解决的。谢谢好的,我想我将通过以递增的方式命名文件来解决我的问题,然后使用文件名对文件进行排序。如果有人碰到这件事。