关于核心数据日期属性

时间:2014-01-31 00:59:04

标签: ios core-data nsdate

我对核心数据日期属性有疑问。

我知道日期属性总是存储为表示自参考日期以来的时间间隔的时间戳。

由于此属性,很难比较日期属性值而不会遗漏它们的时间部分。

在我的情况下,我在表视图中排序对象时遇到很多问题。

问题很简单,如果我总是将某个时间(例如03:00 am)作为日期属性的一部分,我可以确定某个日期的所有日期属性是否相等?

如何定义一个日期作为核心日期对象属性以固定时间(例如2014-01-30 03:00 am)存储。

已更新

我使用此代码在上午10:00获取今天的日期:

    NSDate *now = [NSDate date];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
    [components setHour:10];
    NSDate *todayDate = [calendar dateFromComponents:components];

     NSLog(@"TODAY DATE AT 10:00AM %@",todayDate);

但日志显示另一次:

今日上午10:00 AM 2014-01-30 17:00:00 +0000

1 个答案:

答案 0 :(得分:0)

仅使用原始日期中的年,月和日组件创建日期。请参阅NSDateComponents和NSCalendar dateFromComponents文档中的详细信息。