zoukankan      html  css  js  c++  java
  • 关于“日期”的考法(闰年、两个日期间隔多少天)(金山笔试)

      闰年:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的年份,即使是4的倍数也是平年。即四年一闰,百年不闰,四百年再闰。 例如,2000年是闰年,1900年则是平年。(摘自“百度百科”)

    题目1: 计算两个日期之间所间隔天数(转自:http://blog.csdn.net/vonger/article/details/5917764

    以公元1年1月1日为起始日期,计算任意一个日期到它的日数是容易计算的,这样,我只要需要计算出两个需要计算的日期到公元1的所差天数就可以了。

    Java语言:
    //两个日期间的天数,测试通过。BY myself
    public class DaysBetween{
        public static void main(String args[]){
            System.out.println(daysBetween(2000,2,10,2012,2,10));
        }
        public static int daysBetween(int y1,int m1,int d1,int y2,int m2,int d2){
            int days1=daysFromBeginning(y1,m1,d1);
            int days2=daysFromBeginning(y2,m2,d2);
            if(y1>y2){
                return days1-days2;
            }else if(y1<y2){
                return days2-days1;
            }else if(m1>m2){
                return days1-days2;
            }else if(m1<m2){
                return days2-days1;
            }else if(d1>d2){
                return days1-days2;
            }else if(d1<d2){
                return days2-days1;
            }else{
                return 0;
            }
        }
    
        public static int daysFromBeginning(int y, int m, int d){//以1年1月1日为Beginning
            int daysEachMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
            int daysMonth[]=new int[13];
            daysMonth[0]=0;
            for(int i=1; i<13; i++){
                daysMonth[i]=daysMonth[i-1]+daysEachMonth[i];
            }
            int days_temp = (y-1)*365;
            int days_leap = (y-1)/400+((y-1)/4-(y-1)/100);
            int days_thisYear= daysMonth[m-1]+d+(isLeapYear(y)&&m>2?1:0);
            return days_temp+days_leap+days_thisYear;
        }
    
        public static boolean isLeapYear(int year){
            return  year%400==0||(year%4==0&&year%100!=0) ;
        }
    
    }
    
        
  • 相关阅读:
    DExpose2:Windows 下窗体平铺预览
    第二章 随机变量及其分布3
    资源文件分享到QQ群共享里的方法
    第三章 多维随机变量及其分布1
    RegexBuddy
    第四章 随机变量的数字特征3
    html 表格排序
    关于微软自带的身份和角色验证
    学习中小型软件开发步骤
    学习路线图
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3672875.html
Copyright © 2011-2022 走看看