相信很多人都做过NSDate和NSString之间的转换,普通的转换不再赘述,就是从string类型转向date类型的时候需要注意:转换成的日期的formatter格式必须与字符串的格式一致。
下面举例说明,例如,如果服务器返回的日期格式是@“2014:10:09 12:20:30”,那么你的formatter格式必须也是@“yyyy:MM:dd HH:mm:ss”,但是输出的日期格式是2014-10-09 12:20:30.
具体代码如下(使用ARC):
NSString* dateStr = @“2014:10:09 12:20:30”;
NSDateFormatter * dateFormatter =[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy:MM:dd hh:mm:ss"];//或者写成dateFormatter.dateFormat = @"yyyy:MM:dd hh:mm:ss";
注:这个日期的输出格式是yyyy-mm-dd hh:mm:ss。
NSDate * date = [dateFormatter dateFromString:dateStr];
附上日期转换格式参数:(此部分为转载)
格式化参数如下:
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: 毫秒
常用日期结构:
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM dd yyyy