黑马程序员技术交流社区

标题: 根据指定日期与现在日期时间对比相差几周几月 [打印本页]

作者: zwcshy    时间: 2014-12-3 09:38
标题: 根据指定日期与现在日期时间对比相差几周几月
本帖最后由 zwcshy 于 2014-12-3 09:40 编辑
  1. define knewsTimeFormat @"yyyyMMddHHmmss" //你要传过来日期的格式
  2. #define kLocaleIdentifier @"en_US"

  3. // 发布时间
  4. - (NSString *)newsTime:(NSString *)newsTimes
  5. {
  6.     NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  7.     formatter.dateFormat = knewsTimeFormat;
  8.     formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:kLocaleIdentifier];
  9.      
  10.     NSDate *date = [formatter dateFromString:newsTimes];
  11.      
  12.     NSDate *now = [NSDate date];
  13.      
  14.     // 比较帖子发布时间和当前时间
  15.     NSTimeInterval interval = [now timeIntervalSinceDate:date];
  16.      
  17.     NSString *format;
  18.     if (interval <= 60) {
  19.         format = @"刚刚";
  20.     } else if(interval <= 60*60){
  21.         format = [NSString stringWithFormat:@"发布于前%.f分钟", interval/60];
  22.     } else if(interval <= 60*60*24){
  23.         format = [NSString stringWithFormat:@"发布于前%.f小时", interval/3600];
  24.     } else if (interval <= 60*60*24*7){
  25.         format = [NSString stringWithFormat:@"发布于前%d天", (int)interval/(60*60*24)];
  26.     } else if (interval > 60*60*24*7 & interval <= 60*60*24*30 ){
  27.         format = [NSString stringWithFormat:@"发布于前%d周", (int)interval/(60*60*24*7)];
  28.     }else if(interval > 60*60*24*30 ){
  29.         format = [NSString stringWithFormat:@"发布于前%d月", (int)interval/(60*60*24*30)];
  30.     }
  31.      
  32.     formatter.dateFormat = format;
  33.     return [formatter stringFromDate:date];
  34. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2