iOS中比较时间的方法

来源:互联网 发布:淘宝商城网上购物 编辑:程序博客网 时间:2024/06/15 00:31

在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
原创粉丝点击