从NSDate获取NSNumber的月份

时间:2010-11-22 11:11:04

标签: objective-c

如何从NSDate对象获取NSNumber的月份?不是当前月份而是对象月份

3 个答案:

答案 0 :(得分:7)

您应该使用NSCalendar来实现此目的,因为日期的月份取决于所使用的日历。这大部分时间都是格里高利历,但是啊,让我们超级正确。 :)

NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents comps = [cal components:NSMonthCalendarUnit fromDate:myDate];
NSLog(@"The month is: %d", [comps month]);

答案 1 :(得分:0)

这样的事情将是一种快速而肮脏的方式:

NSInteger month = [[date descriptionWithCalendarFormat:@"%m"
                                              timeZone:nil
                                                locale:nil] integerValue];

答案 2 :(得分:0)

我使用NSDateFormatter来提取日期的月份组件:

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3600];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM"];
NSLog(@"Month %d", [[dateFormatter stringFromDate:date] intValue]);