在項(xiàng)目中經(jīng)常會遇到時間的規(guī)則
例如:
時間規(guī)則(所有時間最小到分鐘級別):
時間<1小時時甘萧,顯示X分鐘前鱼喉;
1小時<=時間<1天時,顯示x小時前;
1天<=時間<20天剂陡,顯示(昨天邑时、1天前、2天前....20天前)授帕;
20天<=時間同木,顯示日期
這里涉及到一個時間戳的問題。如果想完成這樣類似的功能 需要后臺提供時間戳跛十。
第一步:獲取當(dāng)前的時間戳
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
第二步:返回后臺的時間戳
NSTimeInterval createTime = model.timestamp; (注:model.timestamp 是后臺返回的數(shù)據(jù))
第三步:時間差
NSTimeInterval time = currentTime - createTime;
...
其實(shí)時間差 就是 秒數(shù)了
剩下的就是自己去換算了
//秒轉(zhuǎn)分鐘
NSInteger minute = time/60;
if (minute < 60) {
return [NSString stringWithFormat:@"%ld分鐘前",minute];
}
// 秒轉(zhuǎn)小時
NSInteger hours = time/3600;
if (hours<24) {
return [NSString stringWithFormat:@"%ld小時前",hours];
}
//秒轉(zhuǎn)天數(shù)
NSInteger days = time/3600/24;
if (days < 20) {
return [NSString stringWithFormat:@"%ld天前",days];
}else{
return [NSString stringWithFormat:@"%@",model.createtime];
}
...