以年、月為條件,統計該月有多少天

/**
  * 以年、月為條件,統計該月有多少天
  * @param selAddYear
  * @param selAddMonth
  * @return
  * */
 public Integer countDaysByYAndM(String Year, String Month){
  int year = Integer.parseInt(Year);
  int month = Integer.parseInt(Month);
  Calendar c = Calendar.getInstance();
  c.set(Calendar.YEAR, year);
  c.set(Calendar.MONTH, month - 1);
  int countDays = c.getActualMaximum(Calendar.DAY_OF_MONTH);
  return countDays;
 }
### C语言计算指定份的数 为了准确计算给定份和份的数,可以采用结构化的方法来处理不同类型的份以及特殊情况下二数变化。以下是具体实现方法: #### 定义判断闰的辅助函数 创建一个名为 `isLeapYear` 的函数用来检测传入的份是否为闰。如果该能够被4整除但不能被100整除,或者是能被400整除,则认为这一是闰。 ```c int isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) return 1; else return 0; } ``` #### 创建获取每数的功能模块 接着定义另一个函数 `getMonthDays` 来返回特定份下某个固定份应有的总数。这里会利用到之前编写的 `isLeapYear()` 函数来调整二份的具体数值[^1]。 ```c #include <stdio.h> // ... 上面已经给出的 isLeapYear() ... int getMonthDays(int month, int year){ switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 4: case 6: case 9: case 11: return 30; case 2: return isLeapYear(year)? 29 : 28; default: printf("Invalid Month\n"); return -1; // 错误标记 } } ``` 这段代码展示了如何根据不同条件设置各个份对应的数,并特别考虑到了二可能存在的两种长度情况[^4]。 最后,在主程序或其他调用位置可以通过简单的参数传递方式获得所需的结果。例如: ```c int main(){ int year = 2024, month = 2; printf("%d %d 有 %d 。\n", year, month, getMonthDays(month, year)); return 0; } ``` 此段完整的例子说明了怎样使用上述两个函数组合起来完成对于任何合法输入的一内任一月份实际拥有的自然日数量统计工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值