编辑代码

package com.Class.Demo01.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class birthdaycalc {
    public static void main(String[] args) throws ParseException {
//        1.scanner类中的next方法获取输入的日期
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要计算的日期\t格式:yyyy-MM-dd");
        String day = scanner.next();
//        2.DateFormat类中的parse方法把字符串day解析为Date格式。
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 到这一步可能有异常直接alt+回车抛出去,一直抛直到没有报错留给虚拟机处理。
        Date targerDay = sdf.parse(day);//这句的作用是解析为文本
//        3.把Date格式的出生日期转换为毫秒值用Date类的getTime();方法
        long targetTime = targerDay.getTime();
//        4.获取当前日期,转换为毫秒值getTime();方法
        long todaytime = new Date().getTime();
        long time =Math.abs(targetTime-todaytime);
//        用format()方法将一个 Date 格式化为日期/时间字符串。 返回一个字符串。
        String today = sdf.format(new Date());
        System.out.println("今天是"+today);
        System.out.println("距离"+day+"有"+time/1000/60/60/24+"天");
        scanner.close();

        String checktime = "2024-04-29 15:19:50";
        String checktimeOld = "2024-04-29 14:07:08";
        long min = dateDiffMinute(checktimeOld,checktime);
        System.out.println("距离"+min+"有"+min+"天");
    }

    	public static long dateDiffMinute(String startTime, String endTime) {

		long min = 0L;
		SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		long nd = 1000*24*60*60;//一天的毫秒数
		long nh = 1000*60*60;//一小时的毫秒数
		long nm = 1000*60;//一分钟的毫秒数
		long ns = 1000;//一秒钟的毫秒数
		long diff;
		try {
			//获得两个时间的毫秒时间差异
			diff = sd.parse(endTime).getTime() -sd.parse(startTime).getTime();
			long day = diff/nd;//计算差多少天
			long hour = diff%nd/nh;//计算差多少小时
			min = diff%nd%nh/nm;//计算差多少分钟
			long sec = diff%nd%nh%nm/ns;//计算差多少秒
			//输出结果
			System.out.println("时间相差:"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒。");
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return min;
	}
}
//测试结果:
//请输入你要计算的日期	格式:yyyy-MM-dd
//2021-01-01
//今天是2021-04-30
//距离2021-01-01有119天