【问题标题】:Compare NSDateComponents to integer (or convert NSDateComponents to integer)将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)
【发布时间】:2016-04-30 20:54:31
【问题描述】:

我正在尝试检查从应用安装到解锁某些功能是否经过 X 天

NSDate *now = [NSDate date];
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregorianCalendar components:NSCalendarUnitDay
                                                    fromDate:[[NSUserDefaults standardUserDefaults]
                                                              objectForKey:@"firstTimeDate"]
                                                      toDate:now
                                                     options:0];

但是当我这样做时

if (!(components < 1)) {
 ...
}

我明白了

指针和整数之间的有序比较('NSDateComponents *'和'int')

【问题讨论】:

    标签: ios objective-c nsdate nsdatecomponents


    【解决方案1】:

    由于您要询问天数,因此您应该访问 day 属性。

    if (components.day >= 1) {
    }
    

    注意:使用x &gt;= y 可能比使用!(x &lt; y) 更清晰。

    【讨论】:

    • 不错!天数在 00:00:00 或每 24 小时递增一次?
    • 尝试不同的值,但我相信如果两个日期相隔 24 小时,您将获得 1 天。
    猜你喜欢
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多