将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)
Posted
技术标签:
【中文标题】将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)【英文标题】:Compare NSDateComponents to integer (or convert NSDateComponents to integer) 【发布时间】: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')
【问题讨论】:
【参考方案1】:由于您要询问天数,因此您应该访问 day
属性。
if (components.day >= 1)
注意:使用x >= y
可能比使用!(x < y)
更清晰。
【讨论】:
不错!天数在 00:00:00 或每 24 小时递增一次? 尝试不同的值,但我相信如果两个日期相隔 24 小时,您将获得 1 天。以上是关于将 NSDateComponents 与整数进行比较(或将 NSDateComponents 转换为整数)的主要内容,如果未能解决你的问题,请参考以下文章
将 NSDateComponents 传递给 UILocalNotification 的最佳实践?
NSDateComponents:如何将已弃用的 NSWeekCalendarUnit 替换为计算周开始日期?