NSDateFormatter的格式串詳解(轉)

iphone開發中, Object-C中的NSDate是一個很有趣的類型,但在 轉換成字符串的類型的時候還是稍有些麻煩,還得帶一個NSDateFormatter的類型.但官方文檔上對NSDateFormatter的格式串的講解卻很簡略( 或許有,我沒找到)。現有幸找到一份比較全的文檔, 轉載過來共享:

 

a: AM/PM (上午/下午)

A: 0~86399999 (一天的第A微秒)

c/cc: 1~7 (一週的第一天, 周天爲1)

ccc: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期幾簡寫)

cccc: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期幾全拼)

d: 1~31 (月份的第幾天, 帶0)

D: 1~366 (年份的第幾天,帶0)

e: 1~7 (一週的第幾天, 帶0)

E~EEE: Sun/Mon/Tue/Wed/Thu/Fri/Sat (星期幾簡寫)

EEEE: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday (星期幾全拼)

F: 1~5 (每月的第幾周, 一週的第一天爲週一)

g: Julian Day Number (number of days since 4713 BC January 1) 未知

G~GGG: BC/AD (Era Designator Abbreviated) 未知

GGGG: Before Christ/Anno Domini 未知

h: 1~12 (0 padded Hour (12hr)) 帶0的時, 12小時制

H: 0~23 (0 padded Hour (24hr))  帶0的時, 24小時制

k: 1~24 (0 padded Hour (24hr) 帶0的時, 24小時制

K: 0~11 (0 padded Hour (12hr)) 帶0的時, 12小時制

L/LL: 1~12 (0 padded Month)  第幾月

LLL: Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec 月份簡寫

LLLL: January/February/March/April/May/June/July/August/September/October/November/December 月份全稱

m: 0~59 (0 padded Minute) 分鐘

M/MM: 1~12 (0 padded Month) 第幾月

MMM: Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec

MMMM: January/February/March/April/May/June/July/August/September/October/November/December

q/qq: 1~4 (0 padded Quarter) 第幾季度

qqq: Q1/Q2/Q3/Q4 季度簡寫

qqqq: 1st quarter/2nd quarter/3rd quarter/4th quarter 季度全拼

Q/QQ: 1~4 (0 padded Quarter) 同小寫

QQQ: Q1/Q2/Q3/Q4 同小寫

QQQQ: 1st quarter/2nd quarter/3rd quarter/4th quarter 同小寫

s: 0~59 (0 padded Second) 秒數

S: (rounded Sub-Second) 未知

u: (0 padded Year) 未知

v~vvv: (General GMT Timezone Abbreviation) 常規GMT時區的編寫

vvvv: (General GMT Timezone Name) 常規GMT時區的名稱

w: 1~53 (0 padded Week of Year, 1st day of week = Sunday, NB: 1st week of year starts from the last Sunday of last year) 一年的第幾周, 一週的開始爲週日,第一週從去年的最後一個週日起算

W: 1~5 (0 padded Week of Month, 1st day of week = Sunday) 一個月的第幾周

y/yyyy: (Full Year) 完整的年份

yy/yyy: (2 Digits Year)  2個數字的年份

Y/YYYY: (Full Year, starting from the Sunday of the 1st week of year) 這個年份未知幹嘛用的

YY/YYY: (2 Digits Year, starting from the Sunday of the 1st week of year) 這個年份未知幹嘛用的

z~zzz: (Specific GMT Timezone Abbreviation) 指定GMT時區的編寫

zzzz: (Specific GMT Timezone Name) Z: +0000 (RFC 822 Timezone) 指定GMT時區的名稱


NSString lastModifiedString = @"Mon, 06 Jun 2011 12:47:05 GMT";
 NSDateFormatter *df = [[NSDateFormatter alloc] init];  
 //df.dateFormat = @"EEE',' dd MMM yyyy HH':'mm':'ss 'GMT'";
 df.dateFormat = @"EEE, dd MMM yyyy HH:mm:ss z";
 df.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease];  
 df.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];  
 NSDate date = [df dateFromString:lastModifiedString];  


發佈了14 篇原創文章 · 獲贊 7 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章