NSDateFormatter Class Reference

        NSDateFormatter可以理解为NSDate的辅助类,主要用于将NSDate格式化输出NSString和通过NSString生成NSDate。你可以使用dateFormat自定义输出样式,也可以通过配置dateStyle, timeStyle来输出系统自带的样式,还可以修改这些自带的样式。

关于NSDate的相关介绍详见我的另一篇博文《NSDate Class Reference》;
NSDateFormatter是线程安全的。
 


对象转换

- dateFromString:
- stringFromDate:
+ localizedStringFromDate:dateStyle:timeStyle:
- getObjectValue:forString:range:error:
generatesCalendarDates Property

#pragma mark 对象转换
- (void)testConvertingObjects {

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSDate *date = [NSDate date];

    // NSDate转NSString
    // 设置生成格式,hh(12小时格式) HH(24小时格式)
    dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";// 设置生成格式
    NSString *dateStr = [dateFormatter stringFromDate:date];

    // NSString转NSDate,格式不对时会返回空
    date = [dateFormatter dateFromString:@"2015-10-15 10:12:00"];

    // (+) 根据系统指定样式NSDate转NSString
    dateStr = [NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterFullStyle];
    // 等价
    dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateStyle = NSDateFormatterFullStyle;
    dateFormatter.timeStyle = NSDateFormatterFullStyle;
    dateStr = [dateFormatter stringFromDate:date];
}

 

管理上午和下午的符号

AMSymbol Property
PMSymbol Property

#pragma mark 管理上午和下午的符号
- (void)testManagingAMAndPMSymbols {

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    // 打出的上午样式
    NSString *symbol = dateFormatter.AMSymbol;
    // 下午
    symbol = dateFormatter.PMSymbol;

    // 使用举例
    dateFormatter.AMSymbol = @"AM";
    dateFormatter.PMSymbol = @"PM";
    dateFormatter.dateStyle = NSDateFormatterFullStyle;
    dateFormatter.timeStyle = NSDateFormatterFullStyle;
    NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];
    NSLog(@"%@", dateStr);

}

 

管理周符号

weekdaySymbols Property
shortWeekdaySymbols Property
veryShortWeekdaySymbols Property
standaloneWeekdaySymbols Property
shortStandaloneWeekdaySymbols Property
veryShortStandaloneWeekdaySymbols Property

#pragma mark 管理周符号
- (void)testManagingWeekdaySymbols {

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

    // 星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六
    NSArray<NSString *> *array =  dateFormatter.weekdaySymbols;
    array =  dateFormatter.standaloneWeekdaySymbols;

    // 周日, 周一, 周二, 周三, 周四, 周五, 周六
    array =  dateFormatter.shortWeekdaySymbols;
    array =  dateFormatter.shortStandaloneWeekdaySymbols;

    // 日, 一, 二, 三, 四, 五, 六
    array =  dateFormatter.veryShortWeekdaySymbols;
    array =  dateFormatter.veryShortStandaloneWeekdaySymbols;

}

 

管理月符号

monthSymbols Property
shortMonthSymbols Property
veryShortMonthSymbols Property
standaloneMonthSymbols Property
shortStandaloneMonthSymbols Property
veryShortStandaloneMonthSymbols Property

#pragma mark 管理月符号
- (void)testManagingMonthSymbols {

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

    // 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月
    NSArray<NSString *> *array =  dateFormatter.monthSymbols;
    array =  dateFormatter.standaloneMonthSymbols;

    // 1月, 2月, 3月, 4月, 5月, 6月, 7月, 8月, 9月, 10月, 11月, 12月
    array =  dateFormatter.shortMonthSymbols;
    array =  dateFormatter.shortStandaloneMonthSymbols;

    // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
    array =  dateFormatter.veryShortMonthSymbols;
    array =  dateFormatter.veryShortStandaloneMonthSymbols;

}

 

管理季度符号

quarterSymbols Property
shortQuarterSymbols Property
standaloneQuarterSymbols Property
shortStandaloneQuarterSymbols Property

#pragma mark 管理季度符号
- (void)testManagingQuarterSymbols {

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

    // 第一季度, 第二季度, 第三季度, 第四季度
    NSArray<NSString *> *array =  dateFormatter.quarterSymbols;
    array =  dateFormatter.standaloneQuarterSymbols;

    // 1季度, 2季度, 3季度, 4季度
    array =  dateFormatter.shortQuarterSymbols;
    array =  dateFormatter.shortStandaloneQuarterSymbols;

}

 

管理时区

eraSymbols Property
longEraSymbols Property

#pragma mark 管理时区
- (void)testManagingEraSymbols {

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

    // 公元前, 公元
    NSArray<NSString *> *array =  dateFormatter.eraSymbols;
    array =  dateFormatter.longEraSymbols;

}

 


其他

参考资料

NSDateFormatter Class Reference
Data Formatting Guide

 

文档修改记录

时间描述
2015-10-16根据IOS9的NSDateFormatter API总结

 


版权所有:http://blog.csdn.net/y550918116j

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值