题目:
利用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 }
运行结果: