MagicalRecord日期时间比较

时间:2015-05-28 07:57:03

标签: ios objective-c sqlite datetime magicalrecord

我在比较日期时遇到问题。我可以正常检索它但不能比较它。我有一个日期时间和字符串实现是这样的:

YYYY-MM-DD' T' HH:MM:SS

没关系。我使用formatter:

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中写入float? 我需要比较日期,过期日期。我用这个:

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用NSDate's compare: method:

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");