题目:

利用Calendar类计算自己的出生日期距今天多少天,再将自己的出生日期利用SimpleDateFormat类设定的格式输出显示。

代码:

1、Test.java

 1 /**
 2  * Test类,包含两个方法,一个主方法一个获取生日距今天有几天的方法;
 3  */
 4 package cn.edu.ccut1;
 5 import java.text.ParseException;
 6 import java.text.SimpleDateFormat;
 7 import java.util.*;
 8
 9 public class Test {
10
11     public static void main(String[] args) throws ParseException {
12         System.out.println("请输入你的生日:");
13         Scanner reader = new Scanner(System.in);
14         String birthday = reader.nextLine();
15         int days = get_day(birthday); //调用计算生日距今天有几天的方法;
16         System.out.println("你的生日距今天有"+days+"天");
17     }
18     public static int get_day(String s) throws ParseException{
19         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
20         Calendar cal = Calendar.getInstance(); //定义Calendar对象;
21         Date d = sdf.parse(s); //将字符串转化为Date类型;
22         System.out.println("你的生日是"+sdf.format(d));
23         cal.setTime(d);
24         double birthday_time = cal.getTimeInMillis();    //获取生日距1970年1月1日的时间(毫秒)
25         cal.setTime(new Date()); //更改Calendar对象时间为当前时间
26         double time = cal.getTimeInMillis();  //获取当前时间距1970年1月1日的时间(毫秒)
27         int day = (int)((time - birthday_time)/1000/60/60/24);
28         return day;
29     }
30
31 }

运行结果:

01-31 22:34