java计算两个日期之间相差多少天 两个入参都是String类型
时间: 2023-09-14 17:12:24 浏览: 117
可以使用Java 8中的`java.time` API和`DateTimeFormatter`类来计算两个日期字符串之间相差多少天。具体的代码如下所示:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class DateUtil {
public static long daysBetweenDates(String date1Str, String date2Str, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
LocalDate date1 = LocalDate.parse(date1Str, formatter);
LocalDate date2 = LocalDate.parse(date2Str, formatter);
return ChronoUnit.DAYS.between(date1, date2);
}
}
```
然后,您可以调用`daysBetweenDates()`方法来计算两个日期字符串之间的天数。例如:
```java
String date1Str = "2021-11-01";
String date2Str = "2021-12-01";
String pattern = "yyyy-MM-dd";
long days = DateUtil.daysBetweenDates(date1Str, date2Str, pattern);
System.out.println("Days between dates: " + days);
```
这将输出:`Days between dates: 30`,表示2021年11月1日和2021年12月1日之间相差30天。
需要注意的是,参数`pattern`表示日期字符串的格式,必须与日期字符串的实际格式匹配,否则会抛出`DateTimeParseException`异常。
阅读全文