3

日付、月、年を使用するアプリを開発しています。現在の月には28、29、30、31日が含まれる可能性があるため、現在の月の日付が必要です。私は現在の年の月を取得しようとしました。しかし、私は上記のコードを知りません。これが私のコードです。

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSDate           *today           = [NSDate date];
NSCalendar       *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *yearComponents  = [currentCalendar components:NSYearCalendarUnit  fromDate:today];
int currentYear  = [yearComponents year];
for(int months = 0; months < 12; months++)
{
    NSString *monthName = [NSString stringWithFormat:@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear];
    NSLog(@"%@ %i",[[dateFormatter monthSymbols]objectAtIndex: months],currentYear);
    [monthArray addObject:monthName];
}
4

2 に答える 2

7

NSCalendarとそのrangeOfUnit:inUnit:forDateメソッドを使用できます。たとえば、当月の日数を取得するには:

NSCalendar *cal = [NSCalendar currentCalendar];
NSRange range = [cal rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]];
NSUInteger numberOfDaysInMonth = range.length;
于 2013-10-30T07:06:27.357 に答える