iOS中比较时间的方法

在iOS中有时需要算出时间间隔,然后根据不同的结果做不同的操作, 像微博、论坛应用等等:

#define knewsTimeFormat @"yyyy-MM-dd HH:mm:ss" //你要传过来日期的格式

#define kLocaleIdentifier @"en_US"
 
// 发布时间
- (NSString *)newsTime:(NSString *)newsTimes
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    formatter.dateFormat = knewsTimeFormat;

    formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:kLocaleIdentifier];
     
    NSDate *date = [formatter dateFromString:newsTimes];
     
    NSDate *now = [NSDate date];
     
    // 比较帖子发布时间和当前时间
    NSTimeInterval interval = [now timeIntervalSinceDate:date];
     
    NSString *format;
    if (interval <= 60) {

        format = @"刚刚";

    } else if(interval <= 60*60){

        format = [NSString stringWithFormat:@"发布于前%.f分钟", interval/60];

    } else if(interval <= 60*60*24){

        format = [NSString stringWithFormat:@"发布于前%.f小时", interval/3600];

    } else if (interval <= 60*60*24*7){

        format = [NSString stringWithFormat:@"发布于前%d天", (int)interval/(60*60*24)];

    } else if (interval > 60*60*24*7 & interval <= 60*60*24*30 ){

        format = [NSString stringWithFormat:@"发布于前%d周", (int)interval/(60*60*24*7)];

    }else if(interval > 60*60*24*30 ){

        format = [NSString stringWithFormat:@"发布于前%d月", (int)interval/(60*60*24*30)];
    }
     
    formatter.dateFormat = format;

    return [formatter stringFromDate:date];
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值