Java语言程序设计期末实训考试范围练兵题-日期计算问题

题目:

    在信息系统开发中,日期的计算成为常态,利用Java程序设计解决日期相关问题变得简单,给你的问题是计算两个日期(非时间上)相隔的天数。


输入:
    标准输入,输入的第一行为一个正整数N,表示需要你计算的问题数目,接下来的N行,每行有两个表示日期和时间格式的数据,两数据之间有一个空格,并且前一个日期在后一个日期的前面。
输出:
    标准输出,输出两日期(非时间)之间相处的天数,每个计算结果使用一行输出,并按照输入顺序依次输出该问题的结果。

测试用例输入:
4
2021-05-31 00:00 2021-06-01 00:01
2017-01-10 08:00 2017-01-10 09:00
2014-01-05 08:30 2014-01-14 08:00
2014-03-05 16:35 2014-07-03 08:00

测试用例输出:
1
0
9
120 

代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        while (n -- > 0){
            String s1 = sc.next();
            String s2 = sc.next();
            String s3 = sc.next();
            String s4 = sc.next();
            //定义日期or时间格式模板
            String pat = "yyyy-MM-dd";
            //创建SimpleDateFormat对象
            SimpleDateFormat sdf = new SimpleDateFormat(pat);
            //使用SimpleDateFormat对象的purse()方法将字符串格式化为Date对象
            Date str1 = sdf.parse(s1);
            Date str2 = sdf.parse(s3);
            long time = str2.getTime() - str1.getTime();
            System.out.println(time/1000/60/60/24);
        }
    }
}

注意:

  这个题目要审题清楚啊!!!

  他是计算两个日期(非时间上)相隔的天数,所以是 (s3-s1)即可,无需考虑s2,s4了

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值