用java日期类求两个日期相差天数,不使用simpledataformat
时间: 2024-05-08 15:18:40 浏览: 14
可以使用Java 8的LocalDate类和ChronoUnit类来计算两个日期之间的天数差异。以下是一个简单的示例代码:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DateDifference {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2021, 9, 1);
LocalDate date2 = LocalDate.of(2021, 9, 10);
long daysDiff = ChronoUnit.DAYS.between(date1, date2);
System.out.println("The difference between " + date1 + " and " + date2 + " is " + daysDiff + " days.");
}
}
```
输出结果为:
```
The difference between 2021-09-01 and 2021-09-10 is 9 days.
```
在这个示例中,我们使用`LocalDate.of()`方法创建两个日期对象。然后,我们使用`ChronoUnit.DAYS.between()`方法计算它们之间的天数差异,并将结果打印输出。
相关问题
用java日期类求两个日期相差天数
您好!关于您的问题,以下是Java中求两个日期相差天数的示例代码:
```
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateUtil {
/**
* 计算两个日期之间的天数差
* @param startDateStr 开始日期字符串,格式为"yyyy-MM-dd"
* @param endDateStr 结束日期字符串,格式为"yyyy-MM-dd"
* @return 两个日期之间的天数差
* @throws ParseException 日期格式解析异常
*/
public static int getDaysBetween(String startDateStr, String endDateStr) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date startDate = sdf.parse(startDateStr);
Date endDate = sdf.parse(endDateStr);
long startMillis = startDate.getTime();
long endMillis = endDate.getTime();
long diffMillis = endMillis - startMillis;
return (int) (diffMillis / (24 * 60 * 60 * 1000));
}
}
```
使用示例:
```
public class Test {
public static void main(String[] args) {
try {
String start = "2021-01-01";
String end = "2021-06-30";
int days = DateUtil.getDaysBetween(start, end);
System.out.println("相差天数:" + days);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
```
输出结果:
```
相差天数:180
```
希望能帮到您!如果您有其他问题,也欢迎继续提问!
只使用用java的calendar类求两个日期相差天数
好的,我知道该怎么做。您可以参考下面的示例代码:
```java
import java.util.Calendar;
public class DateCalculator {
public static void main(String[] args) {
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.set(2021, 9, 10); // 设置日期为 2021 年 10 月 10 日
cal2.set(2021, 9, 5); // 设置日期为 2021 年 10 月 5 日
long diff = cal1.getTimeInMillis() - cal2.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
System.out.println("两个日期相差 " + days + " 天");
}
}
```
以上代码中,我们使用了 java.util.Calendar 类来创建两个日期对象 cal1 和 cal2,并设置它们的年月日。通过调用 getTimeInMillis 方法,我们可以得到两个日期的时间戳(以毫秒为单位)。然后我们将它们相减并除以 24 小时,就可以得到它们相差的天数了。
希望对您有帮助!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)