iOS 官方文档 NSDateComponents
2016-01-22 14:22
537 查看
前言
NSDateComponents是一个与日期有关的类,但这个类具体是干吗的呢?我们现从字面上的意思来理解。Components就是零件、组件的意思,其实这个类的作用就是把日期拆分成一个一个的组件。一个日期是有年月日时分秒组成的,components这个类的作用就是把日期拆分成单独的年、月、日、时、分、秒。一、访问日期组件
1、era
(1)方法原型@property NSInteger era //时代
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitEra fromDate:date]; NSInteger era = [components era]; NSLog(@"era:%d",era);
输出:2016-01-22 11:37:47.691 NSDate[3541:89557] era:1
2、year
(1)方法原型@property NSInteger year //年
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitYear fromDate:date]; NSInteger year = [components year]; NSLog(@"year:%d",year);
输出:2016-01-22 11:12:11.479 NSDate[3294:75774] year:2016
3、month
(1)方法原型@property NSInteger month //月
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitMonth fromDate:date]; NSInteger month = [components month]; NSLog(@"month:%d",month);
输出:2016-01-22 11:40:31.677 NSDate[3585:91253] month:1
4、month
(1)方法原型@property NSInteger month //月
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitMonth fromDate:date]; NSInteger month = [components month]; NSLog(@"month:%d",month);
输出:2016-01-22 11:40:31.677 NSDate[3585:91253] month:1
5、day
(1)方法原型@property NSInteger day //日
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitDay fromDate:date]; NSInteger day = [components day]; NSLog(@"day:%d",day);
输出:2016-01-22 11:46:09.345 NSDate[3654:93902] day:22
6、hour
(1)方法原型@property NSInteger hour //时
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitHour fromDate:date]; NSInteger hour = [components hour]; NSLog(@"hour:%d",hour);
输出:2016-01-22 11:47:45.195 NSDate[3684:94879] hour:11
7、minute
(1)方法原型@property NSInteger minute //分
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitMinute fromDate:date]; NSInteger minute = [components minute]; NSLog(@"minute:%d",minute);
输出:2016-01-22 11:49:03.349 NSDate[3719:95826] minute:49
8、second
(1)方法原型@property NSInteger second //秒
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitSecond fromDate:date]; NSInteger second = [components second]; NSLog(@"second:%d",second);
输出:2016-01-22 11:52:23.927 NSDate[3778:97830] second:23
9、nanosecond
(1)方法原型@property NSInteger nanosecond //纳秒
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitNanosecond fromDate:date]; NSInteger nanosecond = [components nanosecond]; NSLog(@"nanosecond:%d",nanosecond);
输出:2016-01-22 11:54:56.560 NSDate[3826:99433] nanosecond:560009002
10、weekday
(1)方法原型@property NSInteger weekday //星期
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitWeekday fromDate:date]; NSInteger weekday = [components weekday]; NSLog(@"weekday:%d",weekday);
输出:2016-01-22 11:59:46.306 NSDate[3894:101729] weekday:6
说明:2016-01-22为星期五,因为美国的第一天是从星期天开始算,所以换算到我们中国的星期需要减1。
11、weekdayOrdinal
(1)方法原型@property NSInteger weekdayOrdinal //这个月的第几周
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitWeekdayOrdinal fromDate:date]; NSInteger weekdayOrdinal = [components weekdayOrdinal]; NSLog(@"weekdayOrdinal:%d",weekdayOrdinal);
输出:2016-01-22 12:04:30.976 NSDate[3956:104495] weekdayOrdinal:4
12、quarter
(1)方法原型@property NSInteger quarter //季度
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitQuarter fromDate:date]; NSInteger quarter = [components quarter]; NSLog(@"quarter:%d",quarter);
输出:2016-01-22 13:36:49.161 NSDate[4633:133612] quarter:0
13、weekOfMonth
(1)方法原型@property NSInteger weekOfMonth //这个月的第几个星期
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitWeekOfMonth fromDate:date]; NSInteger weekOfMonth = [components weekOfMonth]; NSLog(@"weekOfMonth:%d",weekOfMonth);
输出:2016-01-22 13:38:40.169 NSDate[4677:134785] weekOfMonth:4
14、weekOfYear
(1)方法原型@property NSInteger weekOfYear //该年的第几个星期
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitWeekOfYear fromDate:date]; NSInteger weekOfYear = [components weekOfYear]; NSLog(@"weekOfYear:%d",weekOfYear);
输出:2016-01-22 13:41:05.867 NSDate[4725:136315] weekOfYear:4
15、yearForWeekOfYear
(1)方法原型@property NSInteger yearForWeekOfYear //这个属性暂时不知道是什么意思
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitYearForWeekOfYear fromDate:date]; NSInteger yearForWeekOfYear = [components yearForWeekOfYear]; NSLog(@"yearForWeekOfYear:%d",yearForWeekOfYear);
输出:2016-01-22 13:43:38.975 NSDate[4768:137519] yearForWeekOfYear:2016
16、leapMonth
(1)方法原型@property(getter=isLeapMonth) BOOL leapMonth //判断该月是否为润月
(2)实例代码
NSDate *date = [NSDate date]; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; NSDateComponents *components = [calendar components:NSCalendarUnitYearForWeekOfYear fromDate:date]; BOOL leapMonth = components.leapMonth; NSLog(@"leapMonth:%d",leapMonth);
输出:2016-01-22 13:43:38.975 NSDate[4768:137519] yearForWeekOfYear:2016
17、- valueForComponent:
(1)方法原型- (NSInteger)valueForComponent:(NSCalendarUnit)unit //返回组件对应的值
(2)实例代码
NSDateComponents *components = [[NSDateComponents alloc] init]; [components setValue:2017 forComponent:NSCalendarUnitYear]; [components setValue:1 forComponent:NSCalendarUnitMonth]; [components setValue:1 forComponent:NSCalendarUnitDay]; NSLog(@"components:%@",components);
输出:2016-01-22 14:19:56.060 NSDate[5264:155372] components:
Calendar Year: 2017
Month: 1
Day: 1
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#生成Word文档代码示例
- jQuery窗口、文档、网页各种高度的精确理解
- 比较全的一个C#操作word文档示例
- C#编程实现Excel文档中搜索文本内容的方法及思路
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- MongoDB修改、删除文档的域属性实例