iOS – 友好的NSDate格式

我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.

解决方法

NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:
- (Nsstring *)formattedDate:(NSDate *)date
{
     NSTimeInterval timeSinceDate = [[NSDate date] timeIntervalSinceDate:date];

     // print up to 24 hours as a relative offset
     if(timeSinceDate < 24.0 * 60.0 * 60.0)
     {
         NSUInteger houRSSinceDate = (NSUInteger)(timeSinceDate / (60.0 * 60.0));

         switch(houRSSinceDate)
         {
              default: return [Nsstring stringWithFormat:@"%d hours ago",houRSSinceDate];
              case 1: return @"1 hour ago";
              case 0:
                  NSUInteger minutesSinceDate = (NSUInteger)(timeSinceDate / 60.0);
                  /* etc,etc */
              break;
         }
     }
     else
     {
          /* normal NSDateFormatter stuff here */
     }
}

所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...