封装时间戳转具体时间工具
我们在开发过程中经常会使用到时间这个东西。
比如需求是将服务器返回的时间在手机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);