最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • java中计算指定日期是一年的第几天的方法_Java教程


    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中计算指定日期是一年的第几天的方法的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1168会员总数(位)
    • 111858资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 244稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    侵权联系邮箱[email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐