/** 错误代码*/
//createTime为需要判断的时间戳 currentTime当前时间戳
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:[NSDate dateWithTimeIntervalSince1970:createTime] toDate:[NSDate dateWithTimeIntervalSince1970:currentTime] options:0];
if (cmps.day == 1) {
}
//这样判断出现的问题
//加入开始时间@“2021-02-11 15:00:00” 到 @“2021-02-13 18:00:00”
这样会得到cmps == 1 而实际 @“2021-02-11 15:00:00”为前天
//问题解决
/** 需要判断的时间 首先转成NSDateComponents*
NSDateComponents * compsTemp = [calendar components:unit fromDate:[NSDate dateWithTimeIntervalSince1970:createTime]];
/** 根据NSDateComponents 重新生成NSDate*/
NSDate*dateTemp = [calendardateFromComponents:compsTemp];
/** 再次比较*/
NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:dateTemp toDate:[NSDate dateWithTimeIntervalSince1970:currentTime] options:0];
if (cmps.day == 1) {
return @"昨天";
} else {
return @"不是昨天"
}