查找使用该应用的连续天数

时间:2013-09-23 06:30:55

标签: iphone ios nsdate counter

我正在开发一个ios应用程序。我有一个功能,我必须连续几天显示应用程序使用。

意味着如果我经常使用应用程序3天,我必须显示3。

如果我有一天没用过它。计数器应该重置。

我正在使用此功能计算天数。

- (int)daysBetween:(NSDate *)dt1 and:(NSDate *)dt2 {
    NSUInteger unitFlags = NSDayCalendarUnit;
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *components = [calendar components:unitFlags fromDate:dt1 toDate:dt2 options:0];
    return [components day];
}

我正在保存上次使用的日期。并在其中传递两个参数最后使用的日期和当前日期。

但是通过这个功能,如果我在晚上11:30使用应用程序,并在凌晨1点再次使用它,它将不会增加一天。

1 个答案:

答案 0 :(得分:0)

你得到这个是因为你没有考虑时间的一部分日期,你需要使用rangeOfUnit:

我建议使用本SO问题中提到的@Brain函数:

Number of days between two NSDates