题目:
在信息系统开发中,日期的计算成为常态,利用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了