java求日期间隔问题

从键盘输入一个日期,格式为yyyy-M-d

要求计算该日期与1949年10月1日距离多少天

例如:

用户输入了:1949-10-2

程序输出:1

用户输入了:1949-11-1

程序输出:31

import java.util.*;

public class Test_8 {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       Scanner sc=new Scanner(System.in);

       System.out.println("请输入日期,格式为:YYYY-M-D:");

       String str1=sc.nextLine();

       String[] str2=str1.split("-");

       int year=Integer.parseInt(str2[0]);

       int month=Integer.parseInt(str2[1]);

       int day=Integer.parseInt(str2[2]);

       Calendar cal=new GregorianCalendar (year,month,day);

       Date date1=cal.getTime();

       Calendar cal2=new GregorianCalendar (1949,10,1);

       Date date2=cal2.getTime();

        long days=(date1.getTime()-date2.getTime())/(1000*60*60*24)+1;

        System.out.println("您输入的日期为这一年的第"+days+"天。");

    }

}

posted @ 2011-05-19 12:32  白龙龙  阅读(550)  评论(0编辑  收藏  举报