NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init]autorelease]; [dateFormatter setAMSymbol:@"AM"]; [dateFormatter setPMSymbol:@"PM"]; [dateFormatter setDateFormat:@"dd/MM/yyyy hh:mmaaa"]; NSDate *date = [NSDate date]; NSString * s = [dateFormatter stringFromDate:date];
// start by retrieving day, weekday, month and year components for yourDate NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *todayComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit) yourDate]; NSInteger theDay = [todayComponents day]; NSInteger theMonth = [todayComponents month]; NSInteger theYear = [todayComponents year]; // now build a NSDate object for yourDate using these components NSDateComponents *components = [[NSDateComponents alloc] init]; [components setDay:theDay]; [components setMonth:theMonth]; [components setYear:theYear]; NSDate *thisDate = [gregorian dateFromComponents:components]; [components release]; // now build a NSDate object for the next day NSDateComponents *offsetComponents = [[NSDateComponents alloc] init]; [offsetComponents setDay:1]; NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate: yourDate options:0]; [offsetComponents release]; [gregorian release]; 方法收集
/**
该方法可扩展为获取n月之后 或 n月之前的NSDate对象
获取n年之后 或 n年之前的NSDate对象
**/
//计算n天之后或者n天之前的NSDate
+ (NSDate *) getPriousDateFromDate:(NSDate *)date withDay:(int)day
{
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:day];
NSCalendar *calender = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *mDate = [calender dateByAddingComponents:comps toDate:date options:0];
[comps release];
[calender release];
return mDate;
}