[iOS]时间格式化

作者: PlutoMa | 来源:发表于2016-02-02 10:36 被阅读190次

    在开发中,我们经常要对时间进行格式化处理,今天在这里记录一些格式符,以便以后查看。

    G:          公元时代,例如AD公元
    yy:         年的后2位
    yyyy:       完整年
    MM:         月,显示为1-12,带前置0
    MMM:        月,显示为英文月份简写,如 Jan
    MMMM:       月,显示为英文月份全称,如 Janualy
    dd:         日,2位数表示,如02
    d:          日,1-2位显示,如2,无前置0
    EEE:        简写星期几,如Sun
    EEEE:       全写星期几,如Sunday
    aa:         上下午,AM/PM
    H:          时,24小时制,0-23
    HH:         时,24小时制,带前置0
    h:          时,12小时制,无前置0
    hh:         时,12小时制,带前置0
    m:          分,1-2位
    mm:         分,2位,带前置0
    s:          秒,1-2位
    ss:         秒,2位,带前置0
    S:          毫秒
    Z:          时区(GMT)
    
    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时区的名称
    

    另外有一点需要注意,在进行格式化的时候,如果要显示数字外的信息(比如星期几和月份英文),如果不进行多余的设置,格式化出来的字符串会默认显示当前时区的文字,如果要显示英文,需要对NSFormatter进行以下设置:

    formatter.locale = [NSLocale localeWithLocaleIdentifier:@"en"];
    

    相关文章

      网友评论

        本文标题:[iOS]时间格式化

        本文链接:https://www.haomeiwen.com/subject/xrnskttx.html