package no1; import java.util.Scanner; public class Date { int y; int m; int d; public Date(int y,int m,int d ){ this.y=y; this.m=m; this.d=d; } public int sum(Date d){ int day=0; int[] x={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(int i=1;i<d.y;i++){ if(i%4==0&& i%100!=0 || i%400==0){ day+=366; }else{ day+=365; } } if(d.y%4==0&& d.y%100!=0 || d.y%400==0){ x[2]=29; } for(int i=1;i<d.m;i++){ day+=x[i]; } day+=d.d; return day; } public int DiffDays(Date d){//計算兩個日期之間的相距天數的成員方法 int s1=sum(this); int s2=sum(d); if(s1>s2){ return s1-s2; }else{ return s2-s1; } } public static void main(String args[]){ int a,b,c; Date d1,d2; try{ Scanner sc = new Scanner(System.in); String str1 = sc.next(); a=Integer.parseInt(str1); str1 = sc.next(); b=Integer.parseInt(str1); str1 = sc.next(); c=Integer.parseInt(str1); d1=new Date(a,b,c); String str2 = sc.next(); a=Integer.parseInt(str2); str2 = sc.next(); b=Integer.parseInt(str2); str2 = sc.next(); c=Integer.parseInt(str2); d2=new Date(a,b,c); System.out.println("Daynum:"+d1.DiffDays(d2)); }catch(Exception e){ System.out.println("error"); } } }
輸入: 2008 8 8 2018 9 23java
輸出:Daynum:3698this