我正在尝试从两个日期范围内的照片库中获取图片I am getting the images successfully.使用PHAsset库
现在问题是我不能在同一天的两次之间获取图像,如下午12:10到下午12:30
使用以下代码
#pdf-container {
overflow:hidden;
width:600px;
height:800px;
}
-
NSDate *startDate = [self getDateForDay:30 andMonth:9 andYear:2016 andHour:12 andMinute:10 andSecond:0];
NSDate *endDate = [self getDateForDay:30 andMonth:9 andYear:2016 andHour:12 andMinute:30 andSecond:0];
- 并将这些日期传递给下面的方法以获取图像
-(NSDate*) getDateForDay:(NSInteger) day andMonth:(NSInteger) month andYear:(NSInteger) year andHour:(NSInteger) hour andMinute:(NSInteger) minute andSecond:(NSInteger) second{
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:day];
[comps setMonth:month];
[comps setYear:year];
[comps setHour:hour];
[comps setMinute:minute];
[comps setSecond:second];
NSCalendar* gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDate *date = [gregorian dateFromComponents:comps];
return date;
}
当我在日志中打印但没有获取图像时,日期和时间正确
如何解决这个问题?
答案 0 :(得分:1)
此处创建的日期将采用UTC时区,您的日期可能会有所不同。这就是谓词可能无法返回正确结果的原因。
确保在创建日期之前将日历的时区设置为系统时区,如:
NSCalendar* gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[gregorian setTimeZone: [NSTimeZone systemTimeZone]];
NSDate *date = [gregorian dateFromComponents:comps];
这将在您当地时区创建日期并生成正确的结果。