NSString转NSData

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    NSDate *date = [dateFormatter dateFromString:_model.finish_date];
    
    NSString * name = [self dateToDetailOld:date];



其中在将字符串转换成date的时候, 发现dateFromString:的返回值为nil.
看了下代码没问题,然后网上查了一下,发现是因为12小时制和24小时制的原因,
如果后台返回的是24小时制的格式,那么@"yyyy-MM-dd HH:mm:ss"中的HH必须是大写,如果是小写,然后返回的24小时制,就会返回nil

同时mark一下项目中用到的一个方法, 
通过后台返回的时间来计算距离当前时间多久
<pre>
#pragma mark -根据出生日期返回详细的年龄(精确到天)
-(NSString *)dateToDetailOld:(NSDate *)bornDate{
    //获得当前系统时间
    NSDate *currentDate = [NSDate date];
    //创建日历(格里高利历)
    NSCalendar *calendar = [NSCalendar currentCalendar];
    //设置component的组成部分
    NSUInteger unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond ;
    //按照组成部分格式计算出生日期与现在时间的时间间隔
    NSDateComponents *date = [calendar components:unitFlags fromDate:bornDate toDate:currentDate options:0];
    
    //判断年龄大小,以确定返回格式
    if( [date year] > 0)
    {
        return [NSString stringWithFormat:(@"%ld年前"),(long)[date year]];
        
    }
    else if([date month] >0)
    {
        return [NSString stringWithFormat:(@"%ld月前"),(long)[date month]];
        
    }
    else if([date day]>0)
    {
        return [NSString stringWithFormat:(@"%ld天前"),(long)[date day]];
        
    }
    else if([date hour]>0){
        
        return [NSString stringWithFormat:(@"%ld小时前"),(long)[date hour]];
    }
    else if([date minute]>0){
        
        return [NSString stringWithFormat:(@"%ld分前"),(long)[date hour]];
    }
    else{
        
        return [NSString stringWithFormat:(@"%ld秒前"),(long)[date hour]];
    }
}

参考博客: http://blog.csdn.net/a6472953/article/details/9186081

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

推荐阅读更多精彩内容

  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,494评论 2 50
  • ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year:...
    雨一流阅读 686评论 0 2
  • 印尼语: 1.hh:mm 英语:06:05 印尼语:6:05 注:印尼使用24小时制所以应为H:mm 2.yyyy...
    黑炭妈阅读 13,138评论 3 4
  • 站在十字路口,拿着单反的手忙碌的按着快门,无所以的对焦,无所以的光圈,无所以的把周遭一切摄录进三寸宽的镜头,以至于...
    宝爷物语阅读 83评论 0 0