223:
小小练习:
请使用日期API来计算一个人出生了多少天?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class zixuejava {
public static void main(String[] args) throws ParseException {
//请使用日期API文档相关知识来计算一个人出生了多少天?
/*
* 想:
* 1.我们需要什么数据来进行计算?出生日期 当前日期
* 2.在实际生活当中到底有什么意义?用于出生时间的计算
* 3.可不可以与其他的函数进行相应的结合然后来实现呢?
*
* 分析:
* 1.使用Scanner类当中的next()方法来获取出生时间
* tips:此时获取的时间的形式是字符串的形式,我们计算使用的时间是以毫秒值来进行计算的,
* 而且要借助一个中间的桥梁Date日期来进行转换
* 2.使用DateFormat类中的方法将字符串类型的时间值转换成Date类型的时间值
* 3.将Date格式的出生值转换成毫秒值,
* 4.将当前的时间也来转换成毫秒值
* 5.用现在时间的毫秒值来减去出生时间的毫秒值
* 6.将减完之后的毫秒值转换成对应的天数
*/
//具体的实现方法://1.使用Scanner类当中的next()方法来获取出生时间Scanner s1=new Scanner(System.in);//友情提示:增强代码的可读性System.out.println("请输入您的出生年月日,格式为:yyyy-MM-dd");//定义一个字符创类型的变量来接收用户输入的字符创类型的出生日期String birthdayDateString=s1.next();//2.使用DateFormat类中的方法将字符串类型的时间值转换成Date类型的时间值SimpleDateFormat SDF=new SimpleDateFormat();//调用其中parse方法,将字符创类型的日期转换成Date类型的日期Date birthdayDate=SDF.parse(birthdayDateString);//3.将Date格式的出生值转换成毫秒值long birthdayDateTime=birthdayDate.getTime();//4.将当前的时间也来转换成毫秒值long todayTime=new Date().getTime();long lifeTime=todayTime-birthdayDateTime;long Time=lifeTime/1000/60/60/24;System.out.print("您在世界上已经停留了"+Time+"天");}
}