程序分析:
(1)使用Scanner类获取出生日期
(2)使用DataFormat类中的方法parse,把字符串的出生日期解析为Data格式的出生日期
(3)把Data格式的出生日期转化为毫秒值
(4)获取当前的日期,转化成毫秒值
(5)使用当前日期的毫秒值-出生日期的毫秒值
(6)把毫秒差值转换成天数
程序代码:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Demo04_Total_Brithday {
public static void main(String[] args) throws ParseException {
Scanner data = new Scanner(System.in);
System.out.println("请输入您的出生日期,格式为:1999-02-03");
String brithday_data = data.next(); // 获取出生日期,类型为字符串
// 通过SimpleDateFormatf类中的parse把出生日期解析为Date格式的出生日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date brithdaydata = sdf.parse(brithday_data);
// 把Data格式的出生日期转换成毫秒值
long brithday_time = brithdaydata.getTime();
// 获取当前日期,转换成毫秒值
long today = new Date().getTime();
// 使用当前日期的毫秒值-出生日期的毫秒值
long time = today-brithday_time;
// 把毫秒差值转换成天(1天 = 24 x 60 x 60 x 1000 = 86400000)
long total_days = time/24/60/60/1000;
System.out.println("从您的出生日期到现在共有:"+total_days+"天");
}
}
运行结果截图: