NSDate处理

    技术2022-06-13  98

    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;

    }


    最新回复(0)