必须知道的内容
G: 公元时代,例如AD公元
yy: 年的后2位
yyyy: 完整年
MM: 月,显示为1-12
MMM: 月,显示为英文月份简写,如 Jan
MMMM: 月,显示为英文月份全称,如 Janualy
dd: 日,2位数表示,如02
d: 日,1-2位显示,如 2
EEE: 简写星期几,如Sun
EEEE: 全写星期几,如Sunday
aa: 上下午,AM/PM
H: 时,24小时制,0-23
K:时,12小时制,0-11
m: 分,1-2位
mm: 分,2位
s: 秒,1-2位
ss: 秒,2位
S: 毫秒
1.date转string
NSDate *date=[NSDate date];
NSLog(@"%@",date);//2015-11-20 00:37:40 +0000
NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];//创建一个日期格式化器
dateFormatter.dateFormat=@"yyyy-MM-dd hh:mm:ss";//指定转date得日期格式化形式
NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 08:24:04
dateFormatter.dateFormat=@"yyyy-MM-dd";
NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20
dateFormatter.dateFormat=@"yyyy-MM-dd eeee aa HH:mm:ss";
NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 Friday AM 08:30:28
dateFormatter.dateFormat=@"yyyy-MM-dd hh:mm:ss z";
NSLog(@"%@",[dateFormatter stringFromDate:date]);//2015-11-20 08:42:22 GMT+8
其实date转string只需要根据格式来就可以了,但是string转date需要注意事项
2.string转date
NSString *dateStr=@"2012-5-4 4:34:23";
dateFormatter.dateFormat=@"yyyy-mm-dd hh:mm:ss";
//输出:2012-05-03 20:34:23 +0000
/*
转化的类型必须与dateFormat保持一致
2012-->y
5->m
4->d
*/
NSString *dateStr=@"2012-5-4 4:34:23";
dateFormatter.dateFormat=@"yyyy-mm-dd "//后面的hh:mm:ss不写可以吗?答案不写不可以
//dateFormatter.dateFormat=@"yyyy-MM-dd hh:mm:ss";//转化格式
NSLog(@"%@",[dateFormatter dateFromString:dateStr]);