Java 面试题 计算两个时间段距离的天数

计算某年、某月、某日和某年、某月、某日之间的间隔天数,要求年月日通过main方法的参数传递到程序中

public static void main(String[] args) throws ParseException {
    Scanner scanner=new Scanner(System.in);
    System.out.println("请输入第一个时间(格式1970-01-01)");
    String date1=scanner.next();
    System.out.println("请输入第二个时间(格式1970-01-01)");
    String date2=scanner.next();
    calDays(date1, date2);
}
static void calDays(String date1,String date2) throws ParseException {
    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yy-MM-dd");//格式化
    Date date = simpleDateFormat.parse(date1);//将文本转换为Date
    Date date3 = simpleDateFormat.parse(date2);
    Calendar calendar1=Calendar.getInstance();//Calendar对象
    calendar1.setTime(date);//将Date转换为Calendar
    Calendar calendar2=Calendar.getInstance();
    calendar2.setTime(date3);
    long timeInMillis1 = calendar1.getTimeInMillis();//计算到1970-1-1的总的毫秒
    long timeInMillis2 = calendar2.getTimeInMillis();
    long abs = Math.abs(timeInMillis1 - timeInMillis2);//取绝对值
    long l = abs / (1000 * 60 * 60*24);//得到天数
    System.out.println("相差:"+l+"天");
}

猜你喜欢

转载自blog.csdn.net/m0_45196258/article/details/107730532