思路:
- 利用毫秒值,先让用户输入自己的出生日期,将日期转换为毫秒值
- 得到现在的日期下的毫秒值
- 相减,然后将毫秒值换为天数
代码:
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
//计算已出生多少天
public class dateTest {
public static void main(String[] args) throws Exception {
fundata();
}
public static void fundata() throws Exception{
// 首先打印一个提示语句
System.out.println("请输入您的出生日期,格式yyyy-MM-dd:");
String birthdayString = new Scanner(System.in).next();
// 将字符串转换为date类型
SimpleDateFormat StoDate = new SimpleDateFormat("yyyy-MM-dd");
Date birthdayDate = StoDate.parse(birthdayString);
// 获取当前日期
Date nowDate = new Date();
// 转为毫秒值进行换算
long nowSecond = nowDate.getTime();
long birthdaySecond = birthdayDate.getTime();
long second = nowSecond-birthdaySecond;
if(second<0) {
System.out.println("无法计算");
}else {
System.out.println(second/1000/60/60/24);
}
}
}
结果(以2018-10-19为准):
- 请输入您的出生日期,格式yyyy-MM-dd:
2020-9-2
无法计算 - 请输入您的出生日期,格式yyyy-MM-dd:
2018-10-10
9