前言
本文實現的效果類似於QQ空間裡的好友發表的動態,會顯示好友發表的時間,這裡是處理顯示幾小時前,幾分鐘前,剛剛,昨天,前天這樣的格式,下面來一起看看吧。
一:剛剛,幾分鐘前,幾小時前
//時間
NSString *createdTimeStr = @"2017-01-01 21:05:10";
//把字符串轉為NSdate
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *timeDate = [dateFormatter dateFromString:createdTimeStr];
//得到與當前時間差
NSTimeInterval timeInterval = [timeDate timeIntervalSinceNow];
timeInterval = -timeInterval;
long temp = 0;
NSString *result;
if (timeInterval < 60) {
result = [NSString stringWithFormat:@"剛剛"];
}else if((temp = timeInterval/60) < 60){
result = [NSString stringWithFormat:@"%ld分鐘前",temp];
}else if((temp = timeInterval/3600) > 1 && (temp = timeInterval/3600) <24){
result = [NSString stringWithFormat:@"%ld小時前",temp];
}else{
result = createdTimeStr;
}
NSLog(@"%@",result);
二:剛剛,幾分鐘前,幾小時前,昨天,前天
//時間
NSString *createdTimeStr = @"2017-01-01 21:05:10";
//把字符串轉為NSdate
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *timeDate = [dateFormatter dateFromString:createdTimeStr];
//得到與當前時間差
NSTimeInterval timeInterval = [timeDate timeIntervalSinceNow];
timeInterval = -timeInterval;
long temp = 0;
NSString *result;
if (timeInterval < 60) {
result = [NSString stringWithFormat:@"剛剛"];
}else if((temp = timeInterval/60) < 60){
result = [NSString stringWithFormat:@"%ld分鐘前",temp];
}else if((temp = timeInterval/3600) > 1 && (temp = timeInterval/3600) <24){
result = [NSString stringWithFormat:@"%ld小時前",temp];
}else if ((temp = timeInterval/3600) > 24 && (temp = timeInterval/3600) < 48){
result = [NSString stringWithFormat:@"昨天"];
}else if ((temp = timeInterval/3600) > 48 && (temp = timeInterval/3600) < 72){
result = [NSString stringWithFormat:@"前天"];
}else{
result = createdTimeStr;
}
NSLog(@"%@",result);
總結
以上就是這篇文字的全部內容了,希望本文的內容對各位iOS開發者能帶來一定的幫助,如果有疑問大家可以留言交流。