#pragma mark -Private
//获取一个月多少天:
- (NSUInteger)numberOfDaysInMonth:(NSDate *)date{
NSCalendar *greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
return [greCalendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date].length;component
}
//获取每月的一号:
- (NSDate *)firstDateOfMonth:(NSDate *)date{
NSCalendar *greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDateComponents *comps = [greCalendar
components:NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitWeekday | NSCalendarUnitDay
fromDate:date];
comps.day = 1;
return [greCalendar dateFromComponents:comps];
}
//获取本月一号星期几第几天:
- (NSUInteger)startDayOfWeek:(NSDate *)date
{
NSCalendar *greCalendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];//Asia/Shanghai
NSDateComponents *comps = [greCalendar
components:NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitWeekday | NSCalendarUnitDay
fromDate:[self firstDateOfMonth:date]];
return comps.weekday;
}get
//获取上一天的时间:
- (NSDate *)getLastMonth:(NSDate *)date{
NSCalendar *greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDateComponents *comps = [greCalendar
components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay
fromDate:date];
comps.month -= 1;
return [greCalendar dateFromComponents:comps];
}it
//获取下一天的时间:
- (NSDate *)getNextMonth:(NSDate *)date{
NSCalendar *greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDateComponents *comps = [greCalendar
components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay
fromDate:date];
comps.month += 1;
return [greCalendar dateFromComponents:comps];
}io
//获取某一天的data:
- (NSDate *)dateOfDay:(NSInteger)day{
NSCalendar *greCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
[greCalendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
NSDateComponents *comps = [greCalendar
components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay
fromDate:self.tempDate];
comps.day = day;
return [greCalendar dateFromComponents:comps];
}ast
NSDate *tempDate;//当前detadate
- (IBAction)上一个:(id)sender {
self.tempDate = [self getLastMonth:self.tempDate];
self.dateLabel.text = self.tempDate.yyyyMMByLineWithDate;
[self getDataDayModel:self.tempDate];
}im
- (IBAction)下一个:(id)sender {
self.tempDate = [self getNextMonth:self.tempDate];
self.dateLabel.text = self.tempDate.yyyyMMByLineWithDate;
[self getDataDayModel:self.tempDate];
}时间