封装学无止境

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

2016-08-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给大家。

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

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

上一篇下一篇

猜你喜欢

热点阅读