java中计算指定日期是一年的第几天的方法

互联网 19-11-23

Java输入日期计算是这年的第几天:

思路

通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天;

1、3、5、7、8、10、12 月份 31 天其余月份均为 30 天;

然后将每个月的天数相加即可,注意如果输入的是 12 月份,则是从 11 月份往前累加到1月份,1月份加的是输入的天数;

实现代码:

import java.util.Scanner;  /**  * Created by xpf on 2018/6/22 :)  * GitHub:xinpengfei520  * Function:  */ public class CalculateUtils {      /*平年二月28天*/     private static final int DAYS_28 = 28;     /*闰年二月29天*/     private static final int DAYS_29 = 29;     /*除了31天的月份其他均为30天*/     private static final int DAYS_30 = 30;     /*1、3、5、7、8、10、12月份31天*/     private static final int DAYS_31 = 31;      public static void main(String[] args) {         Scanner input = new Scanner(System.in);         System.out.println("Please input year:");         int year = input.nextInt();         System.out.println("Please input month:");         int month = input.nextInt();         System.out.println("Please input day:");         int day = input.nextInt();          int daysInYear = getDaysInYear(year, month, day);         System.out.println("daysInYear:" + daysInYear);     }      /**      * get days in this year      *      * @param year      * @param month      * @param day      * @return      */     public static int getDaysInYear(int year, int month, int day) {         int totalDays = 0;          switch (month) {             // 12 月份加的是11月份的天数,依次类推             case 12:                 totalDays += DAYS_30;             case 11:                 totalDays += DAYS_31;             case 10:                 totalDays += DAYS_30;             case 9:                 totalDays += DAYS_31;             case 8:                 totalDays += DAYS_31;             case 7:                 totalDays += DAYS_30;             case 6:                 totalDays += DAYS_31;             case 5:                 totalDays += DAYS_30;             case 4:                 totalDays += DAYS_31;             case 3:                 // 判断是否是闰年                 if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {                     totalDays += DAYS_29;                 } else {                     totalDays += DAYS_28;                 }             case 2:                 totalDays += DAYS_31;             case 1: // 如果是1月份就加上输入的天数                 totalDays += day;         }          return totalDays;     } }

因为只有2月份的天数和输入的 day 天数是不固定的,其他月份的天数是固定的,而固定的天数是可以通过输入的月份算出来,这样我们就可以这样计算:

2 月份的天数 + 输入的天数 + 计算出来的固定天数

更多java知识请关注java基础教程。

以上就是java中计算指定日期是一年的第几天的方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:Java的基础面试题目(4)

相关资讯