Get a date after n days 
-(NSDate*)getNextDayAfterDays:(int)numOfDays from:(NSDate*)date
{
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
    [offsetComponents setDay:numOfDays];
    NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:date options:0];
    NSLog(@"date %@ nextDate %@",date,nextDate);
    return nextDate;
}
Get first day of month and first week day from any date
-(NSDate*)getFirstDayOfMonth:(NSDate*)date
{
    NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit| NSDayCalendarUnit   |NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit |NSWeekdayCalendarUnit ) fromDate:date];
    NSInteger thisDay = [comp day];
    NSInteger thisWeekday = [comp weekday];
    [comp setWeekday:1];
    [comp setDay:thisDay-thisWeekday+1];
    [comp setMinute:0];
    [comp setHour:0];
    [comp setSecond:1];
    NSDate *firstDayOfMonth = [gregorian dateFromComponents:comp];
    NSDateComponents *weekComp = [gregorian components:NSWeekdayCalendarUnit fromDate:firstDayOfMonth];
    int firstDayOfWeek = [weekComp weekday];
    NSLog(@"firstdayofmonth %@",firstDayOfMonth);
    NSLog(@"firstweekday %d",firstDayOfWeek);
    return firstDayOfMonth;
}
Get difference between two dates 
-(int)getDifferenceBetweenDates:(NSDate *)startDate endDate:(NSDate*)endDate  
{
    NSCalendar *gregorian = [[NSCalendar alloc]
                             initWithCalendarIdentifier:NSGregorianCalendar];
    NSUInteger unitFlags;
    NSDateComponents *components;
    unitFlags = NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
    components = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
    NSLog(@"startdate %@ enddate %@",startDate,endDate);
    int day = [components day];
    return day;
}
                       
                    
0 Comment(s)