已有开发项目的熟悉过程
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

CalculateUtils.java 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.cbs.company.util;
  2. public class CalculateUtils {
  3. /**
  4. * get days in this year
  5. *
  6. * @param year
  7. * @param month
  8. * @param day
  9. * @return
  10. */
  11. public static int getDaysInYear(int year, int month, int day) {
  12. /*平年二月28天*/
  13. final int DAYS_28 = 28;
  14. /*闰年二月29天*/
  15. final int DAYS_29 = 29;
  16. /*除了31天的月份,4、6、9、11其他均为30天*/
  17. final int DAYS_30 = 30;
  18. /*1、3、5、7、8、10、12月份31天*/
  19. final int DAYS_31 = 31;
  20. int totalDays = 0;
  21. switch (month) {
  22. // 12 月份加的是11月份的天数,依次类推
  23. case 12:
  24. totalDays += DAYS_30;
  25. case 11:
  26. totalDays += DAYS_31;
  27. case 10:
  28. totalDays += DAYS_30;
  29. case 9:
  30. totalDays += DAYS_31;
  31. case 8:
  32. totalDays += DAYS_31;
  33. case 7:
  34. totalDays += DAYS_30;
  35. case 6:
  36. totalDays += DAYS_31;
  37. case 5:
  38. totalDays += DAYS_30;
  39. case 4:
  40. totalDays += DAYS_31;
  41. case 3:
  42. // 判断是否是闰年
  43. if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {
  44. totalDays += DAYS_29;
  45. } else {
  46. totalDays += DAYS_28;
  47. }
  48. case 2:
  49. totalDays += DAYS_31;
  50. case 1: // 如果是1月份就加上输入的天数
  51. totalDays += day;
  52. }
  53. return totalDays;
  54. }
  55. }