在顯示一條數據更新時間的時候經常會用到,只需傳入一份 date 就能返回具體時間
#pragma mark - 計算時間
- (NSString *)lastTimeOfChat:(NSDate *)date {
NSString *str = @" ";
NSDate *nowDate = [NSDate date];
NSTimeInterval timeInterval = [nowDate timeIntervalSinceDate:date];
//北京時間加8小時 除以86400得到的是天數
if ((timeInterval + 60*60*8) / 86400 > 1 && (timeInterval + 60*60*8) / 86400 < 30) {
NSString *min2 = [NSString stringWithFormat:@"%d天前",(int)(timeInterval + 60*60*8) / 86400];
str = min2;
}
//今天
else if ((timeInterval + 60*60*8) / 86400 < 1) {
if (timeInterval < 60) {
str = @"剛剛";
}
else if(60 < timeInterval && timeInterval < 3600){
NSString *min2 = [NSString stringWithFormat:@"%d分鐘前",(int)timeInterval/60];
str = min2;
}
else{
NSString *min2 = [NSString stringWithFormat:@"%d小時前",(int)timeInterval/60/60];
str = min2;
}
}
//一個月前
else if ((timeInterval + 60*60*8) / 86400 > 30) {
NSString *min2 = [NSString stringWithFormat:@"%d個月前",(int)(timeInterval + 60*60*8) / 2592000];
str = min2;
}
return str;
}