如何在iOS中将日,月和年确定为int

时间:2012-07-12 08:54:43

标签: ios int nsdate nsdateformatter nsdatecomponents

我想确定iOS中当前日期的日期,月份和年份。我在网上搜索后发现了这个:

NSDate *date = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date];
NSInteger Day = [components day];
NSInteger month = [components month];
NSInteger year = [components year];

此代码显示当天正确,但年份和月份未显示。它显示了一些数字,如2147483647.我找不到解决方案,所以请帮我纠正我找到的代码,或者写一些新的代码来完成我需要的工作。

1 个答案:

答案 0 :(得分:13)

这一行是问题所在:

NSDateComponents *components = [calendar components:(NSDayCalendarUnit) fromDate:date];

应该是

NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date];