5.NSDateFormatter

来源:互联网 发布:娱乐圈同志名单 知乎 编辑:程序博客网 时间:2024/06/17 04:42

  • NSDateformatter
    • 介绍
    • 一般设置
    • 格式化
    • 时间风格
    • 获取所需要的时间
    • 格式化日期字符串常用参数
    • 自定义月份星期等字符
      • Managing AM and PM Symbols
      • Managing Weekday Symbols
      • Managing Month Symbols
      • Managing Quarter Symbols
      • Managing Era Symbols

NSDateformatter

介绍

  • NSDateFormatter是NSFormatter的子类

一般设置

    //初始化    NSDateFormatter *dateF= [[NSDateFormatter alloc] init];    //系统提供的时间显示方式    //DdateStyle:显示日期类的时间(2015/05/12)    //timeStyle:显示具体时间(下午 10:35)    dateF.dateStyle = kCFDateFormatterShortStyle;    dateF.timeStyle = kCFDateFormatterShortStyle;    //设置语言(en_US:美国  "zh_CN:中国)    dateF.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

格式化

    //HH是24小时制,hh是12小时制,zzz为时区(可省略), EEEE为星期几,EEE为周几    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss #EEEE zzz"];    NSString *strDate = [dateFormatter stringFromDate:[NSDate date]];    NSLog(@"%@", strDate);

时间风格

    //kCFDateFormatterNoStyle       无输出    //kCFDateFormatterShortStyle    10/29/12, 2:27 PM    //kCFDateFormatterMediumStyle   Oct 29, 2012, 2:36:59 PM    //kCFDateFormatterLongStyle     October 29, 2012, 2:38:46 PM GMT+08:00    //kCFDateFormatterFullStyle     Monday, October 29, 2012, 2:39:56 PM China Standard Time    dateF.dateStyle = kCFDateFormatterShortStyle;    dateF.timeStyle = kCFDateFormatterShortStyle;

获取所需要的时间

//获取星期的时候是以星期天为开始计算    NSDateFormatter *formatter =[[NSDateFormatter alloc] init];    [formatter setTimeStyle:NSDateFormatterMediumStyle];    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSCalendarIdentifierGregorian];    NSDateComponents *comps = [[NSDateComponents alloc] init];    NSInteger unitFlags = NSCalendarUnitYear                         | NSCalendarUnitMonth                         | NSCalendarUnitDay                         | NSCalendarUnitWeekday                        | NSCalendarUnitHour                         | NSCalendarUnitMinute                         | NSCalendarUnitSecond;    comps = [calendar components:unitFlags fromDate:[NSDate date]];    NSInteger week = [comps weekday];    NSInteger year=[comps year];    NSInteger month = [comps month];    NSInteger day = [comps day];    NSInteger hour = [comps hour];    NSInteger min = [comps minute];    NSInteger sec = [comps second];    NSLog(@"week %ld",(long)week);

格式化日期字符串,常用参数

格式化日期字符串,copy一份常用参数: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/DecMMMM: January/February/March/April/May/June/July/August/September/October/November/Decemberq/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时区的名称

自定义月份星期等字符

  • [dateFormatter setAMSymbol:@”AM”]; (例子)

Managing AM and PM Symbols

    – AMSymbol    – setAMSymbol:    – PMSymbol    – setPMSymbol:

Managing Weekday Symbols

    – weekdaySymbols    – setWeekdaySymbols:    – shortWeekdaySymbols    – setShortWeekdaySymbols:    – veryShortWeekdaySymbols    – setVeryShortWeekdaySymbols:    – standaloneWeekdaySymbols    – setStandaloneWeekdaySymbols:    – shortStandaloneWeekdaySymbols    – setShortStandaloneWeekdaySymbols:    – veryShortStandaloneWeekdaySymbols    – setVeryShortStandaloneWeekdaySymbols:

Managing Month Symbols

    – monthSymbols    – setMonthSymbols:    – shortMonthSymbols    – setShortMonthSymbols:    – veryShortMonthSymbols    – setVeryShortMonthSymbols:    – standaloneMonthSymbols    – setStandaloneMonthSymbols:    – shortStandaloneMonthSymbols    – setShortStandaloneMonthSymbols:    – veryShortStandaloneMonthSymbols    – setVeryShortStandaloneMonthSymbols:

Managing Quarter Symbols

    – quarterSymbols    – setQuarterSymbols:    – shortQuarterSymbols    – setShortQuarterSymbols:    – standaloneQuarterSymbols    – setStandaloneQuarterSymbols:    – shortStandaloneQuarterSymbols    – setShortStandaloneQuarterSymbols:

Managing Era Symbols

    – eraSymbols    – setEraSymbols:    – longEraSymbols    – setLongEraSymbols:
0 0
原创粉丝点击