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