ios中将字符串转换为时间显示

NSString *dateStr=@"Dec 8, 2013 6:24:38 PM";

要将dateStr格式化输出,需要用NSDateFormatter进行格式化输出,而且要设置Locale,setDateFormat中格式化符

一定要和dateStr中的对应,否则转换后输出为null,代码如下:

NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];

[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];

[inputFormatter setDateFormat:@"MMM d,yyyy hh:mm:ss aa"]; 

NSDate* inputDate = [inputFormatter dateFromString:dateStr];


NSDateFormatter *outputFormatter = [[[NSDateFormatter alloc] init] autorelease];

[outputFormatter setLocale:[NSLocale currentLocale]];

[outputFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

NSString *str = [outputFormatter stringFromDate:inputDate];


NSDateFormatter的格式说明如下:

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: 毫秒

你可能感兴趣的:(NSDate,nsdateformatter,ios时间格式化)