天天看點

iOS-Foundation架構(NSDateFormatter)

//在開發iOS程式時,有時候需要将時間格式調整成自己希望的格式,這個時候我們可以用NSDateFormatter類來處理。

   //過多使用NSDateFormatter将影響程式的性能,且程式中NSDateFormatter對象的時間格式基本一緻,是以使用NSDateFormatter的時候盡量使用單例模式

    NSDateFormatter*dateFormatter12=[[NSDateFormatteralloc]init];

    [dateFormatter12 setDateFormat:@"G yyyy-MM-dd HH:mm:ss aa"];

    NSString*currentDateStr=[dateFormatter12 stringFromDate:[NSDate date]];

    NSString*date1970=[dateFormatter12stringFromDate:[NSDatedateWithTimeIntervalSince1970:0]];

    NSLog(@"%@",currentDateStr);//公元 2015-12-09 16:42:17 下午

    NSLog(@"%@",date1970);//公元 1970-01-01 08:00:00 上午

 /*字元說明:

     a:  AM/PM

     A:  0~86399999 (Millisecond of Day)

     c/cc:   1~7 (Day of Week)

     ccc:    Sun/Mon/Tue/Wed/Thu/Fri/Sat

     cccc: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday

     d:  1~31 (0 padded Day of Month)

     D:  1~366 (0 padded Day of Year)

     e:  1~7 (0 padded Day of Week)

     E~EEE:  Sun/Mon/Tue/Wed/Thu/Fri/Sat

     EEEE: Sunday/Monday/Tuesday/Wednesday/Thursday/Friday/Saturday

     F:  1~5 (0 padded Week of Month, first day of week = Monday)

     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))

     H:  0~23 (0 padded Hour (24hr))

     k:  1~24 (0 padded Hour (24hr)

     K:  0~11 (0 padded Hour (12hr))

     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)

     vvvv:   (General GMT Timezone Name)

     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)

     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)

     zzzz:   (Specific GMT Timezone Name)

     Z:  +0000 (RFC 822 Timezone)

    字元格式的詳細說明見

     http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns