我正在尝试使用NSPredicate过滤结果,但我在NSPredicate中对NSDate有一种奇怪的行为。
这是代码;
NSDate *auctionDate = obj[@"auctionDate"];
NSLog(@"%@", auctionDate);
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"auctionDate == %@", auctionDate];
NSLog(@"%@", predicate);
这是NSLog输出;
2014-02-21 00:00:00 +0000
auctionDate == CAST(414633600.000000, "NSDate")
如您所见,每个NSLog显示NSDate和NSPredicate字符串,但如果仔细观察,NSPredicate创建的NSDate和UNIX时间戳不相等。
转换为日期的414633600.0是“周一,2月21日 1983 00:00:00 GMT”,它们与原始NSDate不同。有什么想法吗?
提前致谢
答案 0 :(得分:3)
NSDate
使用的参考日期 2001年1月1日,GMT
不是1970年。