美文网首页封装学无止境
封装时间戳转具体时间工具

封装时间戳转具体时间工具

作者: 凡尘一笑 | 来源:发表于2016-08-10 11:10 被阅读66次

    我们在开发过程中经常会使用到时间这个东西。
    比如需求是将服务器返回的时间在手机APP上显示
    第一种:XXXX年XX月XX日
    第二种:XX时XX分XX秒
    第三种:XXXX年XX月XX日XX时XX分XX秒

    之前写的这种扩展都没有教大家怎么建类扩展,其实很简单,只不过怕有同学不会,所以这次从头到尾,一步不落的截图给大家,代码也附上。
    第一步:

    Snip20160810_1.png Snip20160810_2.png

    第二步:在NSString+DateExtension.h文件提供出方法

    Snip20160810_3.png
    /**
     *  将时间戳转换为XXXX年XX月XX日
     *
     *  @param time 时间戳
     *
     *  @return 年:月:日
     */
    + (NSString *)formatYearMonthDay:(NSTimeInterval)time;
    
    /**
     *  将时间转换为XX小时XX分XX秒
     *
     *  @param time 时间戳
     *
     *  @return 时:分:秒
     */
    + (NSString *)formatHourMinutesSecond:(NSTimeInterval)time;
    
    /**
     *  将时间转换为XXXX年XX月XX分XX时XX分XX秒
     *
     *  @param time 时间戳
     *
     *  @return 年:月:日:时:分:秒
     */
    + (NSString *)formatYearMonthDayHourMinutesSecond:(NSTimeInterval)time;
    
    

    第三步:在NSString+DateExtension.m文件写这些方法的逻辑

    Snip20160810_4.png
    + (NSString *)formatYearMonthDay:(NSTimeInterval)time
    {
        if (time < 0) return @"";
        
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        //注意:这里设置格式:2016:8:10
        [format setDateFormat:@"yyyy年MM月dd日"];
        //[format setDateFormat:@"yy-MM-dd"];
        //如果是这种:那么返回的时间是:2016-08-10
        
        
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:time];
        
        NSString *str = [format stringFromDate:date];
        return str;
    }
    
    + (NSString *)formatHourMinutesSecond:(NSTimeInterval)time
    {
        if (time < 0) return @"";
        
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        
        [format setDateFormat:@"HH时mm分ss秒"];
        
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:time/1000];
        
        NSString *str = [format stringFromDate:date];
        return str;
    }
    
    + (NSString *)formatYearMonthDayHourMinutesSecond:(NSTimeInterval)time
    {
        if (time < 0) return @"";
        
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        
        [format setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];
        
        NSDate *date = [NSDate dateWithTimeIntervalSinceNow:time/1000];
        
        NSString *str = [format stringFromDate:date];
        return str;
    }
    

    已经封装好了,然后只需要将这个文件拖入到你的工程,就可以使用了
    实例:

    Snip20160810_6.png
        
        NSString *string = @"1469442519000";
        NSTimeInterval second = string.longLongValue/1000.0;
        //获取年月日
        NSString *str = [NSString formatYearMonthDay:second];
        NSLog(@"%@",str);
        //获取时分秒
        NSString *str1 = [NSString formatHourMinutesSecond:second];
        NSLog(@"%@",str1);
        //获取年月日时分秒
        NSString *str2 = [NSString formatYearMonthDayHourMinutesSecond:second];
        NSLog(@"%@",str2);
    

    备注:

    如果有不足或者错误的地方还望各位读者批评指正,可以评论留言,笔者收到后第一时间回复。

    QQ/微信:2366889552 /lan2018yingwei。

    简书号:凡尘一笑:[简书]

    http://www.jianshu.com/users/0158007b8d17/latest_articles

    感谢各位观众老爷的阅读,如果觉得笔者写的还凑合,可以关注或收藏一下,不定期分享一些好玩的实用的demo给大家。

    文/凡尘一笑(简书作者)

    著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

    相关文章

      网友评论

        本文标题:封装时间戳转具体时间工具

        本文链接:https://www.haomeiwen.com/subject/pylrsttx.html