Ios MagicalRecord日期时间比较

Ios MagicalRecord日期时间比较,ios,objective-c,sqlite,datetime,magicalrecord,Ios,Objective C,Sqlite,Datetime,Magicalrecord,我比较约会时间有问题。我可以正常检索,但无法比较。我有一个datetime和字符串实现,如下所示: yyyy-MM-dd'HH:MM:ss 没关系。我使用格式化程序: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; NSDate *dateTo = [formatter dateFromString:[banners[i

我比较约会时间有问题。我可以正常检索,但无法比较。我有一个datetime和字符串实现,如下所示:

yyyy-MM-dd'HH:MM:ss

没关系。我使用格式化程序:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *dateTo = [formatter dateFromString:[banners[i] DateValidTo]];
这给了我这个:2016-06-19 22:00:00+0000

我保存了这个记录,它在Sqlite中以浮点形式写入? 我需要比较过期日期的日期。我用这个:

NSPredicate *expiredDateFilter = [NSPredicate predicateWithFormat:@"dateTo < %@", [NSDate date];
NSArray *banners = [Banner MR_findAllWithPredicate:expiredDateFilter];
NSPredicate*expiredDateFilter=[NSPredicate predicateWithFormat:@“dateTo<%@,[NSDate date];
NSArray*banners=[Banner MR_findAllWithPredicate:expiredDateFilter];

这不会返回任何内容。我有一条记录,它的过期日期是今年4月。我已尝试将其保存为double(NSNumber)使用timeIntervalSince1970并以这种方式保存。它当然是一个双精度的,所以这又是一个问题。我的问题是,如何正确地将Datetime保存到数据库并确保它可以比较?

您可以使用
NSDate的
比较:方法:

NSComparisonResult result = [Date2 compare:Date1];

if(result==NSOrderedAscending)
   NSLog(@"Date1 is in the future");
else if(result==NSOrderedDescending)
   NSLog(@"Date1 is in the past");
else
   NSLog(@"Both dates are the same");

我不想从数据库中获取所有记录并用类似的代码进行比较。我只想从数据库中获取已过期的记录。