NSDateFormatter 格式

系统提供的格式化字符串

NSDateFormatterStyle = kCFDateFormatterShortStyle

typedef NS_ENUM(NSUInteger, NSDateFormatterStyle) {    // date and time format styles

    NSDateFormatterNoStyle =kCFDateFormatterNoStyle,               //无输出

    NSDateFormatterShortStyle =kCFDateFormatterShortStyle,        // 10/29/12, 2:27 PM

    NSDateFormatterMediumStyle =kCFDateFormatterMediumStyle,  // Oct 29, 2012, 2:36:59 PM

    NSDateFormatterLongStyle =kCFDateFormatterLongStyle,      //October 29, 2012, 2:38:46 PM GMT+08:00

    NSDateFormatterFullStyle =kCFDateFormatterFullStyle   //Monday, October 29, 2012, 2:39:56 PM China Standard Time

};

自定义区域语言 NSLocale

若NSLocale 设置的格式是 en_US(美国英语) ,输出的对应格式如上图;

若NSLocale 设置的格式是 zh_CN(简体中文),输出的对应格式如下图 

typedef NS_ENUM(NSUInteger, NSDateFormatterStyle) { // date and time format styles

    NSDateFormatterNoStyle =kCFDateFormatterNoStyle,               //无输出

    NSDateFormatterShortStyle =kCFDateFormatterShortStyle,        // 12-10-29 下午2:52

    NSDateFormatterMediumStyle =kCFDateFormatterMediumStyle,  // 2012-10-29 下午2:51:43

    NSDateFormatterLongStyle =kCFDateFormatterLongStyle,   //2012年10月29日 GMT+0800下午2时51分08秒

    NSDateFormatterFullStyle =kCFDateFormatterFullStyle   //2012年10月29日星期一 中国标准时间下午2时46分49秒

};

世界通用的区域语言代码,详见 International Components for Unicode (ICU), http://userguide.icu-project.org/formatparse/datetime

自定义日期时间格式

   yyyy-MM-dd a HH:mm:ss EEEE  2012-10-29 下午 16:25:27 星期一

   yyyy-MM-dd'T'HH:mm:ss  2012-10-29T16:08:40

    yyyy-MM-dd HH:mm:ss  2012-10-29 16:08:40

除了上面列出的,还可以指定很多格式,详见http://userguide.icu-project.org/formatparse/datetime

自定义月份星期等字符

Managing AM and PM Symbols 管理上午和下午的符号

AMSymbol   上午 AM

setAMSymbol:

PMSymbol 下午 PM

setPMSymbol:

实例:


//打印输出

2019-03-20 10:48:05.669092+0800 LTSCalendar[2566:302755] 上午样式----AM

2019-03-20 10:48:19.856121+0800 LTSCalendar[2566:302755] 下午样式----PM

2019-03-20 10:48:27.438735+0800 LTSCalendar[2566:302755] Wednesday, March 20, 2019 at 10:48:26 AM China Standard Time

Managing Weekday Symbols 管理周符号

weekdaySymbols  // 星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六

setWeekdaySymbols:

shortWeekdaySymbols // 周日, 周一, 周二, 周三, 周四, 周五, 周六

setShortWeekdaySymbols:

veryShortWeekdaySymbols // 日, 一, 二, 三, 四, 五, 六

setVeryShortWeekdaySymbols:

standaloneWeekdaySymbols // 星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六

setStandaloneWeekdaySymbols:

shortStandaloneWeekdaySymbols // 周日, 周一, 周二, 周三, 周四, 周五, 周六

setShortStandaloneWeekdaySymbols:

veryShortStandaloneWeekdaySymbols // 日, 一, 二, 三, 四, 五, 六

setVeryShortStandaloneWeekdaySymbols:


Managing Month Symbols 管理月符号

monthSymbols  // 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月

setMonthSymbols:

shortMonthSymbols  // 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月

setShortMonthSymbols:

veryShortMonthSymbols // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

setVeryShortMonthSymbols:

standaloneMonthSymbols // 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月

setStandaloneMonthSymbols:

shortStandaloneMonthSymbols // 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月

setShortStandaloneMonthSymbols:

veryShortStandaloneMonthSymbols // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

setVeryShortStandaloneMonthSymbols:


月.png

Managing Quarter Symbols 管理季度符号

quarterSymbols   // 第一季度, 第二季度, 第三季度, 第四季度 

setQuarterSymbols:

shortQuarterSymbols   // 1季度, 2季度, 3季度, 4季度 

setShortQuarterSymbols:

standaloneQuarterSymbols   // 第一季度, 第二季度, 第三季度, 第四季度 

setStandaloneQuarterSymbols:

shortStandaloneQuarterSymbols   // 1季度, 2季度, 3季度, 4季度 

setShortStandaloneQuarterSymbols:



Managing Era Symbols  管理时区

eraSymbols   // 公元前, 公元

setEraSymbols:

longEraSymbols // 公元前, 公元

setLongEraSymbols:


推荐阅读更多精彩内容