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

简介: 封装时间戳转具体时间工具

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


我们在开发过程中经常会使用到时间这个东西。

比如需求是将服务器返回的时间在手机APP上显示

第一种:XXXX年XX月XX日

第二种:XX时XX分XX秒

第三种:XXXX年XX月XX日XX时XX分XX秒

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

第一步:

3b6abea2e7a5b0fcbf4ad22449b9e2d7.png

Snip20160810_1.png

96a40446c7b83e296a83da49cbf5e426.png

Snip20160810_2.png

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

e6ea7a5657da5efe169e5464bd7454d5.png

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文件写这些方法的逻辑

079a43ab39725792b71b2875fc4598ff.png

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;
}

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

实例:

8037592c23bfe4a78321633f508fd02d.png

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);


相关文章
|
1月前
|
算法 C语言 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(一)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
645 1
|
1月前
|
缓存 算法 安全
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(三)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
138 1
|
10月前
时间戳转换时间
时间戳转换时间
|
1月前
|
安全 调度 C++
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)(二)
C++ std::chrono库使用指南 (实现C++ 获取日期,时间戳,计时等功能)
276 0
|
28天前
【qt】一次性讲清楚日期和时间2
【qt】一次性讲清楚日期和时间
15 0
|
28天前
【qt】一次性讲清楚日期和时间1
【qt】一次性讲清楚日期和时间
18 0
|
1月前
|
Go Unix 开发者
Go语言time库,时间和日期相关的操作方法
Go语言time库,时间和日期相关的操作方法
66 0
Go语言time库,时间和日期相关的操作方法
|
1月前
Qt 时间戳和时间相关的转换操作
Qt 时间戳和时间相关的转换操作
136 0
|
1月前
|
Unix 定位技术
什么是时间戳?时间戳的获取方式
什么是时间戳?时间戳的获取方式
|
11月前
|
Linux
time模块: 时间戳、结构化时间、格式化时间的获取与相互转化
time模块: 时间戳、结构化时间、格式化时间的获取与相互转化
80 0