NSDateFormatter使用


- (void)dataFormatter

{

    /*

     NSDateFormatter格式表示:@”YYYY/MM/dd” --> 2011/01/08

     

     @”KK:mm aa” --> 02:51 PM

     以下是setDateFormat可使用的英文代号:

     

     纪元的表示:

     G:表示AD,也就是公元

     

     年的表示:

     yy:年的后面2位数字

     yyyy:表示完整的年

     

     月的表示:

     M:表示成1~121位数或2位数

     MM:表示成01~12,不足2位数会补0

     MMM:英文月份的缩写,例如:Jan

     MMMM:英文月份完整表示,例如:January

     

     日期的表示:

     d:表示成1~311位数或2位数

     dd:表示成01~31,不足2位数会补0

     

     星期的表示:

     EEE:星期的英文缩写,如Sun

     EEEE:星期的英文完整表示,如,Sunday

     

     /下午的表示:

     aa:表示AMPM

     

     小時的表示:

     H:表示成0~231位數或2位數(24小時制)

     HH:表示成00~23,不足2位數會補0(24小時制)

     K:表示成0~121位數或2位數(12小時制)

     KK:表示成0~12,不足2位數會補0(12小時制)

     

     分的表示:

     m:表示0~591位數或2位數

     mm:表示00~59,不足2位數會補0

     

     秒的顯示:

     s:顯示0~591位數或2位數

     ss:顯示00~59,不足2位數會補0

     S 毫秒的顯示

     

     時區的顯示:z / zz /zzz PDT

     zzzzPacific Daylight Time

     Z / ZZ / ZZZ -0800

     ZZZZGMT -08:00

     vPT

     vvvvPacific Time

     */

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];

    // 设置时区

    NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];

    [dateFormatter setTimeZone:timeZone];

    [dateFormatter setDateFormat:@"HH:mm"]; // 这里是用大写的 H

    //[dateFormatter setDateFormat:@"KK:mm aa"]; // 时:分 上午

    // 国家  @"en_US" @"zh_CN"

    dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

    /*

     typedef CF_ENUM(CFIndex, CFDateFormatterStyle) {    // date and time format styles

     kCFDateFormatterNoStyle = 0,       // 无输出

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

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

     kCFDateFormatterLongStyle = 3,     // 20121029 GMT+0800下午25108

     kCFDateFormatterFullStyle = 4      // 20121029日星期一 中国标准时间下午24649

     };

     */

    dateFormatter.dateStyle = kCFDateFormatterFullStyle;

    dateFormatter.timeStyle = kCFDateFormatterFullStyle;

    NSString *HHmm = [dateFormatter stringFromDate:[NSDate date]];

    NSLog(@"%@",HHmm); // 时间转成字符串

#pragma mark -

    // 字符串转回时间

    NSDate *date = [dateFormatter dateFromString:HHmm];

    // 时间戳

    long reservationTime = (long)[date timeIntervalSince1970];

#pragma mark -

    /*

     // 获取系统是24小时制或者12小时制

     NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];

     NSRange containsA = [formatStringForHours rangeOfString:@"a"];

     // hasAMPM==TURE12小时制,否则为24小时制

     BOOL hasAMPM = containsA.location != NSNotFound;

     */

#pragma mark - 日历

    NSCalendar* calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];

    NSDateComponents* components = [[[NSDateComponents alloc] init] autorelease];

    NSInteger unitFlags = NSYearCalendarUnit |

    NSMonthCalendarUnit |

    NSDayCalendarUnit |

    NSWeekdayCalendarUnit |

    NSHourCalendarUnit |

    NSMinuteCalendarUnit |

    NSSecondCalendarUnit;

    components = [calendar components:unitFlags fromDate:date];

    NSUInteger week = [components weekday];

    /*

     week = [comps weekday];

     month = [comps month];

     day = [comps day];

     hour = [comps hour];

     min = [comps minute];

     sec = [comps second];

     */

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值