如何从NSDate中获取日期组件?

don*_*ile 4 iphone nsdate

我有一个NSDate对象,需要一天的整数.即如果我们在2010年5月25日,int应为25.有一个简单的方法吗?

fbr*_*eto 17

请考虑这篇关于如何从中获取日历组件的帖子NSDate.基本上它看起来像:

NSCalendar*       calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents* components = [calendar components:NSDayCalendarUnit
                                           fromDate:myDate];
NSInteger         day = [components day];
Run Code Online (Sandbox Code Playgroud)

(不要忘记上面的内存管理.)

  • 这是这样做的方法.不创建日期格式化程序和其他疯狂. (2认同)

Ric*_*kiG 5

如果您只需要NSDate的"25"部分,则可以从dateFormatter获取它.

就像是:

NSDate *today = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd"];
NSString *dayInMonthStr = [dateFormatter stringFromDate:today];
int dayInMonth = [dayInMonthStr intValue];
[dateFormatter release];
NSLog(@"Today is the %i. day of the month", dayInMonth);
Run Code Online (Sandbox Code Playgroud)