How do I get the NSDateComponents of a single NSDate? I don't want the components of the difference between 2 dates, just the seconds, minutes, hours, day, month and year of a NSDate?
There's an example in the Apple docs, Listing 3: Getting a date’s components:
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];
Note that you have to 'or' together the calendar units you want in the call of the components
method.
using NSCalendar's method:
- (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)date
like:
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; NSDate *date = [NSDate date]; NSCalendar * cal = [NSCalendar currentCalendar]; NSDateComponents *comps = [cal components:unitFlags fromDate:date];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With