Iphone 仅根据年-月-日比较NSDate对象
如果我想使用比较方法比较两天:Iphone 仅根据年-月-日比较NSDate对象,iphone,nsdate,Iphone,Nsdate,如果我想使用比较方法比较两天: [day1 compare:day2] == NSOrderedAscending 如何仅按年-月-日进行比较?一天中有86400秒,因此如果您得到两个日期自参考日期起的秒数,您可以将它们除以86400并比较这两个数字 这将为您(在天1和天2中)提供自1970年1月1日以来经过的日期天数。然后你可以比较它们 int days1 = [date1 timeIntervalSince1970] / 86400; int days2 = [date2 timeInte
[day1 compare:day2] == NSOrderedAscending
如何仅按年-月-日进行比较?一天中有86400秒,因此如果您得到两个日期自参考日期起的秒数,您可以将它们除以86400并比较这两个数字 这将为您(在
天1
和天2
中)提供自1970年1月1日以来经过的日期天数。然后你可以比较它们
int days1 = [date1 timeIntervalSince1970] / 86400;
int days2 = [date2 timeIntervalSince1970] / 86400;
理想情况下,您希望编写以下内容:
if ([date1 isSameDayAs:date2]) {...}
@implementation NSDate (Extensions)
- (BOOL) isSameDayAs:(NSDate *)date2
{
int days1 = [self timeIntervalSince1970] / 86400;
int days2 = [date2 timeIntervalSince1970] / 86400;
return (days1 == days2);
}
@end
您可以在NSDate上通过一个简单的类别来实现这一点,例如:
if ([date1 isSameDayAs:date2]) {...}
@implementation NSDate (Extensions)
- (BOOL) isSameDayAs:(NSDate *)date2
{
int days1 = [self timeIntervalSince1970] / 86400;
int days2 = [date2 timeIntervalSince1970] / 86400;
return (days1 == days2);
}
@end
你是说,不包括时间?