6

我想确定 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。我找不到解决方案,所以请帮助我更正找到的代码,或者编写一些新代码来满足我的需要。

4

1 回答 1

13

这条线是问题所在:

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

它应该是

NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:date];
于 2012-07-12T08:59:34.313 回答