#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];
}時間