我有一个核心数据,我有一个名为 time
的实体的属性,该属性是 NSDate
类型的,其中包含在商店中添加的时间。
当我尝试提取数据时,我需要按添加时间排序,并且我使用的是 NSSortDescriptor
。我的问题是当我有两个或多个相同时间的条目时:
time = "2015-12-15 12:48:08 +0000";
time = "2015-12-15 12:48:08 +0000";
time = "2015-12-15 12:48:09 +0000";
time = "2015-12-15 12:48:09 +0000";
这里的订单将丢失,因为我在 NSDate
中没有毫秒。
我该如何解决这个问题?
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey"time"
ascending:YES];
[request setSortDescriptors[sortDescriptor]];
NSError *error;
NSArray *arr =[context executeFetchRequest:request error:&error];
编辑! 声明:
@property (nonatomic, retain) NSDate * time;
初始化:
newContact.time = [NSDate date];
第二种类型的初始化是:
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setTimeZone:[NSTimeZone timeZoneWithName"GMT"]];
[dateformatter setDateFormat"yyyy-MM-dd HH:mm:ss.SSS"];
NSString *timeString = [dateformatter stringFromDate:[NSDate date]]
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName"GMT"]];
[dateFormatter setDateFormat"yyyy-MM-dd HH:mm:ss.SSS"];
NSDate *sentTime = [dateFormatter dateFromString:timeString];
newContact.time = sentTime;
NSDate 确实包含毫秒。
Date objects are immutable, representing an invariant time interval relative to an absolute reference date (00:00:00 UTC on 1 January 2001).
此引用日期的单位是 NSTimeInterval
,它是一个 double
,小数部分包含毫秒。
NSTimeInterval is always specified in seconds; it yields sub-millisecond precision over a range of 10,000 years.
NSDate 是通过使用 NSTimeInterval 使用他指定的初始化器 -initWithTimeIntervalSinceReferenceDateNSTimeInterval)seconds
创建的。如果我一个接一个地调用此方法,会发生以下情况:
var interval = NSDate.timeIntervalSinceReferenceDate()
print("\(interval)")
interval = NSDate.timeIntervalSinceReferenceDate()
print("\(interval)")
// 471879256.255005
// 471879256.259943
现在,CoreData 可以直接保存 NSDate 对象,我的问题是:
-timeIntervalSinceReferenceDate
属性,你可以确定描述符是通过使用它来排序的.
我真的怀疑 CoreData 是否保存 NSDate 四舍五入的值。
关于ios - 如何在 NSDate 中添加毫秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290353/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |