判断时间是否为昨天

/** 错误代码*/

//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 @"不是昨天"

}

你可能感兴趣的:(判断时间是否为昨天)