Java 计算两个yyyyMMdd格式时间相差多少天?不用java.time包实现
时间: 2024-11-09 18:19:12 浏览: 29
在Java中,如果你不想使用`java.time`包来计算两个`yyyyMMdd`格式的时间之间相差的天数,你可以手动编写一个小函数来完成这个任务。这里是一个简单的示例:
```java
public class Main {
public static int daysBetween(String date1, String date2) {
// 将字符串转换为Date对象
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
try {
Date d1 = formatter.parse(date1);
Date d2 = formatter.parse(date2);
// 计算两个日期之间的差值(单位为毫秒)
long diffInMilliseconds = Math.abs(d2.getTime() - d1.getTime());
// 将毫秒转换为天数并返回
return (int) (diffInMilliseconds / (24 * 60 * 60 * 1000));
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format", e);
}
}
public static void main(String[] args) {
String date1 = "20230101";
String date2 = "20230115";
System.out.println(daysBetween(date1, date2)); // 输出相差天数
}
}
```
在这个例子中,我们首先创建了一个`SimpleDateFormat`实例,然后尝试将输入的字符串转换为`Date`对象。接着,我们计算这两个日期之间的差异,并将其转换为天数。
阅读全文