4
NSDate *today = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT+2"]];

NSDateComponents *dateComponents = [calendar components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];    

NSInteger day = [dateComponents day];
NSInteger month = [dateComponents month];
NSInteger year = [dateComponents year];

 NSLog(@" %i %i %i ", day, month, year);

そのコードは「1221474836472147483647」を表示します

月と年を取得するにはどうすればよいですか(整数)

ある日を追加/転送するにはどうすればよいですか?(私たちもその月の最初の場合!)

あなたの注意をあなたに感謝します:-)

4

2 に答える 2

9
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDate *date = [NSDate date];
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date];

NSInteger year = [dateComponents year];
NSInteger month = [dateComponents month];
NSInteger day = [dateComponents day];
NSInteger hour = [dateComponents hour];
NSInteger minute = [dateComponents minute];
NSInteger second = [dateComponents second];

[calendar release];

お役に立てれば

于 2011-04-12T11:24:45.763 に答える
2
  1. にユニットを追加しNSDayCalendarUnit | NSWeekdayCalendarUnitます-月または年を要求していないため、無効です!

  2. NSDateComponents1日およびに設定されたオブジェクトを加算/減算します[NSCalendar dateByAddingComponents:toDate:options:]。または、おそらく同じように正しいので、[NSDate dateWithTimeInterval:sinceDate:]

于 2011-04-12T10:59:25.067 に答える