您的位置:首页 > 移动开发 > IOS开发

iOS:时间格式化(标准时间转为时间戳、时间戳转为标准时间、时间戳转为日期)

2016-04-27 23:53 525 查看
新建一个NSString(Time)分类,创建类方法实现时间的转换

.h文件

#import <Foundation/Foundation.h>

@interface NSString (KJTime)
//时间戳--->时间
+(NSString *)transToTime:(NSString *)timsp;

//时间戳--->日期
+(NSString *)transToDate:(NSString *)timsp;

//时间---->时间戳
+(NSString *)transTotimeSp:(NSString *)time;

@end


.m文件

#import "NSString+KJTime.h"

@implementation NSString (KJTime)

//时间戳--->时间
+(NSString *)transToTime:(NSString *)timsp{

NSTimeInterval time=[timsp doubleValue];//如果不使用本地时区,因为时差问题要加8小时 == 28800 sec
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];

//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];//设置本地时区
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"MM/dd HH:mm"];

NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];

return currentDateStr;
}

//时间戳--->日期
+(NSString *)transToDate:(NSString *)timsp{

NSTimeInterval time=[timsp doubleValue];//如果不使用本地时区,因为时差问题要加8小时 == 28800 sec
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];

//实例化一个NSDateFormatter对象
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];//设置本地时区
//设定时间格式,这里可以设置成自己需要的格式
[dateFormatter setDateFormat:@"MM月dd日"];

NSString *currentDateStr = [dateFormatter stringFromDate: detaildate];

return currentDateStr;
}

//时间---->时间戳
+(NSString *)transTotimeSp:(NSString *)time{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; //设置本地时区
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *date = [dateFormatter dateFromString:time];
NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];//时间戳
return timeSp;
}
@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: