判断时间是否为昨天

/** 错误代码*/

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

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容