iOS开发中时间NSDate几种格式的转换
2015-06-05 15:13
519 查看
在开发中经常会遇到和后台进行交互时时间格式的转换。
首先列举几种常见的NSDate的格式:
1 . 20150605234106格式
2. 2015-06-05 15:41:06 +0000格式(正常的输出格式)
3. 1433498400格式(以1970年起到现在的秒数)
第一种格式转换为第二种格式
//第一种时间格式
NSString* string =
@"20150605234106";
NSDateFormatter *inputFormatter = [[NSDateFormatter
alloc] init];
[inputFormatter setLocale:[[NSLocale
alloc] initWithLocaleIdentifier:@"en_US"]];
//( 设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制)
[inputFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate* inputDate = [inputFormatter
dateFromString:string];
//输出的是第二种格式的日期
NSLog(@"date = %@", inputDate);
第一种格式转换成第三种格式
//获取到当前的时间
NSDate * nowDate=[NSDate
date];
NSLog(@"nowDate = %@",nowDate);
//输出的是第三种格式的日期
NSString * dateString=[NSString
stringWithFormat:@"%.0f",[nowDate
timeIntervalSince1970]];
NSLog(@"datestring = %@",dateString);
第三种格式转换成可以输出的String
//第三种格式的日期
NSString * dateString=
@"1433487206";
NSDate *updatedDate=[[NSDate
alloc] initWithTimeIntervalSince1970:[dateString
doubleValue]];
//输出为可以显示的String
(此处需要一个NSDate+Category来实现)
NSString * result=[updatedDate
timeIntervalDescription];
NSLog(@"result = %@",result);
timeIntervalDescription为可选方法 可以输出为不同格式的日期显示格式
- (NSString *)timeIntervalDescription;//距离当前的时间间隔描述
- (NSString *)minuteDescription;/*精确到分钟的日期描述*/
- (NSString *)formattedTime;
- (NSString *)formattedDateDescription;//格式化日期描述
不需要NSDate+Category来实现简单的转换
long
long int date=1433488265;
NSDate * nowDate=[NSDate
dateWithTimeIntervalSince1970:date];(没有几分钟前的提示)
提示;所得到的时间都是以0时区计算的。输出的时候需要转换时区。
首先列举几种常见的NSDate的格式:
1 . 20150605234106格式
2. 2015-06-05 15:41:06 +0000格式(正常的输出格式)
3. 1433498400格式(以1970年起到现在的秒数)
第一种格式转换为第二种格式
//第一种时间格式
NSString* string =
@"20150605234106";
NSDateFormatter *inputFormatter = [[NSDateFormatter
alloc] init];
[inputFormatter setLocale:[[NSLocale
alloc] initWithLocaleIdentifier:@"en_US"]];
//( 设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制)
[inputFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate* inputDate = [inputFormatter
dateFromString:string];
//输出的是第二种格式的日期
NSLog(@"date = %@", inputDate);
第一种格式转换成第三种格式
//获取到当前的时间
NSDate * nowDate=[NSDate
date];
NSLog(@"nowDate = %@",nowDate);
//输出的是第三种格式的日期
NSString * dateString=[NSString
stringWithFormat:@"%.0f",[nowDate
timeIntervalSince1970]];
NSLog(@"datestring = %@",dateString);
第三种格式转换成可以输出的String
//第三种格式的日期
NSString * dateString=
@"1433487206";
NSDate *updatedDate=[[NSDate
alloc] initWithTimeIntervalSince1970:[dateString
doubleValue]];
//输出为可以显示的String
(此处需要一个NSDate+Category来实现)
NSString * result=[updatedDate
timeIntervalDescription];
NSLog(@"result = %@",result);
timeIntervalDescription为可选方法 可以输出为不同格式的日期显示格式
- (NSString *)timeIntervalDescription;//距离当前的时间间隔描述
- (NSString *)minuteDescription;/*精确到分钟的日期描述*/
- (NSString *)formattedTime;
- (NSString *)formattedDateDescription;//格式化日期描述
不需要NSDate+Category来实现简单的转换
long
long int date=1433488265;
NSDate * nowDate=[NSDate
dateWithTimeIntervalSince1970:date];(没有几分钟前的提示)
提示;所得到的时间都是以0时区计算的。输出的时候需要转换时区。
相关文章推荐
- iOS开发之路--微博“更多”页面
- iOS开发之路--微博骨架搭建
- IOS开发代码分享之获取启动画面图片的string
- IOS开发之路--C语言数组和字符串
- iOS NSDate中关于夏令时的坑
- IOS开发代码分享之用nstimer实现倒计时功能
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios开发之环境搭建-01
- ios 学习笔记 —— NSDate 使用详解(一)
- 关于NSDate和NSCalendar的一些基本使用
- NSDate,NSDateFormatter以及时区转换
- 在开发iOS程序时对日期处理的总结
- iOS开发——keychain的使用
- iOS Graphics Technologies iOS 图形技术
- iOS开发异常错误总结
- 学习Objective-C:入门手册
- iOS 日期格式
- iOS开发 简单实现视频音频的边下边播
- iOS开发 — Quartz 2D知识点应用 (制作了一个Demo,源代码)
- ios开发对配置文件plist的操作