zoukankan      html  css  js  c++  java
  • 不用工具类,计算两个日期相隔多少天

    
    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 23

    输出:Daynum:3698

  • 相关阅读:
    报表打印
    MyGridControl
    用户控件制作时设计模式加载报错的解决办法
    代码生成工具
    上传控件的使用
    数据加密
    DevExpress介绍
    记一次手动安装pecl扩展memcache
    关于httpd.conf的一点随笔
    temp
  • 原文地址:https://www.cnblogs.com/liu-ya/p/9762307.html
Copyright © 2011-2022 走看看