计算一个人出生到现在一共过了多少天
条件:键盘输入一个年月日,计算输入的年月日到现在一共过了多少天
代码如下(代码中有解题思路):
import sun.util.calendar.LocalGregorianCalendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Demo02{
public static void main(String[] args) throws ParseException {
//计算出生到现在过了多少天
//思路 对键盘录入的格式进行规范 然后和现在的时间进行对比
//一 键盘录入一个格式的年月日 并对格式进行规范
Scanner sc = new Scanner(System.in);
System.out.println("请输入出生年月日 例:(1999-03-01)");
String old = sc.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//将出生日期转化为DATE类型并初始化Calendar并在其中进行赋值方便调用对比方法。
Calendar instance = Calendar.getInstance();
instance.setTime(sdf.parse(old));
//获取现在的日期并且规范格式
Date now = sdf.parse(sdf.format(new Date()));
//对比现在日期和录入的日期,并定义一个累加数据计算相差天数
int count=0;
while (instance.getTime().compareTo(now)!=0){
instance.add(instance.DATE,1);
count++;
}
System.out.println(count);
}
}
考点:对DATE类和Calendar类中方法的使用熟练度
用到的知识点:
Calendar.getInstance(); 通过方法访问Calendar类
new SimpleDateFormat("yyyy-MM-dd") 日历规范 yyyy代表年,MM代表月份,dd代表日instance.setTime(DATE 类型);传入日历
SimpleDateFormat.parse()将参数转换为DATE类型
new Date()获取当前日历
instance.getTime(DATE)获取存入的日历
Instance.compareTo(DATE)存入的日历和参数日历进行对比
Instance.add(Instance.DATE(日历中的参数),1(对前面所写参数进行操作,负数为减正数为加))
while(boolean)循环语句