cfi*_*her 25 cocoa objective-c nsdate nsdatecomponents
如何获得单个NSDate的NSDateComponents?我不想要两个日期之间的差异组件,只是NSDate的秒,分,小时,日,月和年?
mar*_*ton 42
Apple文档中有一个示例,清单3:获取日期的组件:
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit |
NSWeekdayCalendarUnit) fromDate:today];
NSInteger day = [weekdayComponents day];
NSInteger weekday = [weekdayComponents weekday];
Run Code Online (Sandbox Code Playgroud)
请注意,您必须在方法调用中将所需的日历单元 "或"放在一起components.
使用NSCalendar的方法:
- (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)date
喜欢:
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDate *date = [NSDate date];
NSCalendar * cal = [NSCalendar currentCalendar];
NSDateComponents *comps = [cal components:unitFlags fromDate:date];
Run Code Online (Sandbox Code Playgroud)