您的位置:首页 > 移动开发 > IOS开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios components 文档