您的位置:首页 > 其它

OC循环渐进:时间格式化

2015-08-07 22:32 369 查看
在OC中,学会格式化一个时间,是经常用到的。

时间格式化,说白了,就是:将NSDate类对象按照程序员自己所定义的格式转化为NSString类型。        

NSDate和NSString之间互转如下:

1.利用NSDataFormatter格式化时间(NSDate ---> NSString)

main.m文件代码如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {

//格式化一个NSDateFormatter类
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//设计格式化格式
[formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
//取得现在的时间
NSDate *now = [NSDate date];
//NSDate转化为NSString
NSString *dateString = [formatter stringFromDate:now];
//输出
NSLog(@"%@",dateString);

}
return 0;
}


测试结果如下:
2015-08-07 21:21:19.082 Demo[497:9775] 2015年08月07日 21:21:19

2.将一个字符串转化成一个时间(NSString ---> NSDate)
main.m文件代码如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {

//定义一个字符串表示的时间
NSString *dateString = @"1990年12月15日 15:15:15";
//实例化一个NSDateFormatter
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//根据定义的字符串时间设置时间格式化样式
[formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
//将字符串转化为时间(默认转化时区为美国时区,与中国相差8小时)
NSDate *date = [formatter dateFromString:dateString];
//输出
NSLog(@"%@",date);

}
return 0;
}


测试结果如下:
2015-08-07 22:04:28.042 Demo[712:19883] 1990-12-15 07:15:15 +0000

时间格式化的字母含义如下:



常用格式为:yyyy-MM-dd HH:mm:ss
下面是一些格式化实例:



好了,时间格式化到此就结束了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息