IOS获取指定年月的当月天数

时间:2021-08-23 00:38:26

前言

在开发IOS中常常需要用到这一功能,在限定一个月的时间间隔为第一天和最后一天,需要知道这个月有多少天,才能知道最后一天是多少号,而且还要知道是否是闰年,可能2月只有28天。

话不多说,附上代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
- (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view, typically from a nib.
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:1]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:2]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:3]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:4]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:5]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:6]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:7]);
  NSLog(@"%ld",(long)[self howManyDaysInThisYear:2016 withMonth:8]);
}
#pragma mark - 获取某年某月的天数
- (NSInteger)howManyDaysInThisYear:(NSInteger)year withMonth:(NSInteger)month{
  if((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))
    return 31 ;
 
  if((month == 4) || (month == 6) || (month == 9) || (month == 11))
    return 30;
 
  if((year % 4 == 1) || (year % 4 == 2) || (year % 4 == 3))
  {
    return 28;
  }
 
  if(year % 400 == 0)
    return 29;
 
  if(year % 100 == 0)
    return 28;
 
  return 29;
}

总结

以上就是IOS获取指定年月的当月天数的全部内容,希望本文的内容对大家开发IOS能有所帮助。