MagicalRecord 日期时间比较

Posted

技术标签:

【中文标题】MagicalRecord 日期时间比较【英文标题】:MagicalRecord datetime comparison 【发布时间】:2015-05-28 07:57:03 【问题描述】:

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

yyyy-MM-dd'T'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];

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

【问题讨论】:

【参考方案1】:

你可以使用NSDate'scompare: 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");

【讨论】:

我不想从数据库中取出所有记录并在这样的代码中进行比较。我只想从数据库中获取过期日期的记录。

以上是关于MagicalRecord 日期时间比较的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 的 Magical Record 导入问题

尝试将 Magical Record 与 Kiwi 一起使用时构建测试时出错

使用 Magical Record 在 NSDictionary 中导入数组

Magical Record - 丢失我的实体信息

Magical Record - 设置时崩溃

Magical Record - 在主线程块 ui 中获取,在后台返回 nil