我在数据库中有10条记录。我想获取date == mydate的记录。
例如,数据库中有2条记录,其日期为[NSDate dateWithTimeIntervalSinceReferenceDate:502479617.512].
(以毫秒为单位)。
我正在使用
将上述日期转换为NSDate2016-12-03 17:40:17 +0000
我正在2016-12-03 17:40:17 +0000
我有日期参数'502479617.500',它返回相同的NSDate visibility: hidden;
position: absolute;
。
但是当我尝试从coredata获取时,我得到0个对象。这是因为数据库中的毫秒数。如何丢弃毫秒来获取具有相同日期,时间和秒数的记录。
答案 0 :(得分:0)
NSDate属性将存储为NSDate属性,除非"使用基本数据类型的标量属性"复选框已标记。
在这种情况下,核心数据属性将存储为NSTimeInterval(double)。
答案 1 :(得分:0)
您可以采用以下两种方式之一:
首先,您可以在存储NSDate时消除秒小数。可以通过覆盖didSet
属性来实现自动化。您也可以在您进行转换的任何地方执行此操作。
或者,您可以在获取时指定一秒的间隔。您的获取请求将需要这种谓词:
NSPredicate(format: "date >= %@ && date < %@", aDate, aDate.addingTimeInterval(60))
目标-C
[NSPredicate predicateWithFormat:@"date >= %@ && date < %@",
aDate, [aDate dateByAddingTimeInterval:60]];
答案 2 :(得分:0)
只需将其保存为NSString即可。然后在需要时转换回双倍。