项目中时间规则

在项目中经常会遇到时间的规则
例如:
时间规则(所有时间最小到分钟级别):
时间<1小时时,显示X分钟前;
1小时<=时间<1天时,显示x小时前;

1天<=时间<20天,显示(昨天、1天前、2天前....20天前);
20天<=时间,显示日期

这里涉及到一个时间戳的问题。如果想完成这样类似的功能 需要后台提供时间戳。

第一步:获取当前的时间戳
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
第二步:返回后台的时间戳
NSTimeInterval createTime = model.timestamp; (注:model.timestamp 是后台返回的数据)
第三步:时间差

NSTimeInterval time = currentTime - createTime;
...
其实时间差 就是 秒数了
剩下的就是自己去换算了
//秒转分钟

NSInteger minute = time/60;
if (minute < 60) {
    return [NSString stringWithFormat:@"%ld分钟前",minute];
}
// 秒转小时
NSInteger hours = time/3600;
if (hours<24) {
    return [NSString stringWithFormat:@"%ld小时前",hours];
}
//秒转天数
NSInteger days = time/3600/24;
if (days < 20) {
    return [NSString stringWithFormat:@"%ld天前",days];
}else{
    
    return [NSString stringWithFormat:@"%@",model.createtime];
}

...

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,115评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,024评论 25 709
  • 临近傍晚,一场暴雨倾盆而至,踩着雨点回家,打开所有的窗户,让 风在屋里自由的穿梭,四面通风,那种凉爽惬意,...
    敏_hami阅读 472评论 2 6
  • 2016.10.06 07:16 休产假回家的某天早晨散步是的随手一拍 2016.12.22 16:43 宝宝出生...
    Amy_dan阅读 409评论 0 0
  • 一、畏惧心态怎么应对 我曾为一家知名企业组建并培训整个销售团队。第一个礼拜请销售代表们开始电话约访客户,我们订下了...
    0c80af0c57a1阅读 477评论 0 0