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