ios获取当月第一天和最后一天

来源:互联网 发布:高校教务网络管理系统 编辑:程序博客网 时间:2024/06/09 14:02

/获取日期

    NSArray * arrWeek=[NSArray arrayWithObjects:@"星期日",@"星期一",@"星期二",@"星期三",@"星期四",@"星期五",@"星期六", nil];

    NSDate *date = [NSDate date]; 

    NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 

    NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease]; 

    NSInteger unitFlags = NSYearCalendarUnit | 

    NSMonthCalendarUnit | 

    NSDayCalendarUnit | 

    NSWeekdayCalendarUnit | 

    NSHourCalendarUnit | 

    NSMinuteCalendarUnit | 

    NSSecondCalendarUnit; 

    comps = [calendar components:unitFlags fromDate:date]; 

    int week = [comps weekday]; 

    int year=[comps year]; 

    int month = [comps month]; 

    int day = [comps day]; 

    m_labDate.text=[NSString stringWithFormat:@"%d%d",year,month];

    m_labToday.text=[NSString stringWithFormat:@"%d",day];

    m_labWeek.text=[NSString stringWithFormat:@"%@",[arrWeek objectAtIndex:week]];




 //当前时间

    NSDate *dateNow = [NSDatedate];

    //转换当前时间的格式为 XXXX-XX-XX

    NSDateFormatter *formatter = [[NSDateFormatteralloc] init];

    [formatter setDateFormat:@"yyyy-MM-dd"];

    NSString *dateStr = [formatterstringFromDate:dateNow];

    [self getMonthBeginAndEndWith:dateStr];


- (NSString *)getMonthBeginAndEndWith:(NSString *)dateStr{

    

    NSDateFormatter *format=[[NSDateFormatteralloc] init];

    [format setDateFormat:@"yyyy-MM-dd"];

    NSDate *newDate=[formatdateFromString:dateStr];

    double interval =0;

    NSDate *beginDate = nil;

    NSDate *endDate = nil;

    NSCalendar *calendar = [NSCalendarcurrentCalendar];

    

    [calendar setFirstWeekday:2];//设定周一为周首日

    BOOL ok = [calendarrangeOfUnit:NSMonthCalendarUnitstartDate:&beginDate interval:&interval forDate:newDate];

    //分别修改为 NSDayCalendarUnit NSWeekCalendarUnit NSYearCalendarUnit

    if (ok) {

        endDate = [beginDate dateByAddingTimeInterval:interval-1];

    }else {

        return @"";

    }

    NSDateFormatter *myDateFormatter = [[NSDateFormatteralloc] init];

    [myDateFormatter setDateFormat:@"YYYY-MM-dd"];

    strStateTime = [myDateFormatterstringFromDate:beginDate];

    strEndTime = [myDateFormatterstringFromDate:endDate];

  NSString *s = [NSString stringWithFormat:@"%@-%@",beginString,endString];

    

    return s;

}