判断两个日期的先后,计算间隔天数、周数
时间: 2024-06-12 20:08:22 浏览: 224
判断两个日期的先后:
1. 如果两个日期的年份不同,则年份大的日期先于年份小的日期。
2. 如果两个日期的年份相同,则比较月份,月份大的日期先于月份小的日期。
3. 如果两个日期的年份和月份都相同,则比较日期,日期大的日期先于日期小的日期。
计算间隔天数:
1. 将两个日期转换为距离公元元年1月1日的天数。
2. 用较大的日期的天数减去较小的日期的天数,得到间隔天数。
计算间隔周数:
1. 计算间隔天数。
2. 将间隔天数除以7,得到间隔周数。如果有余数,则说明不是整周,需要额外处理。
相关问题
判断两个日期的先后,计算间隔天数、周数java
可以使用Java中的Date和Calendar类来完成日期相关操作。
1. 判断两个日期的先后
可以通过比较两个日期对象的getTime()方法返回的long类型值的大小来判断两个日期的先后,getTime()方法返回的是自1970年1月1日00:00:00至该日期对象表示的时间之间的毫秒数。
例如:
```java
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date date1 = new Date(2021, 5, 1);
Date date2 = new Date(2021, 6, 1);
if (date1.getTime() < date2.getTime()) {
System.out.println("date1在date2之前");
} else if (date1.getTime() > date2.getTime()) {
System.out.println("date1在date2之后");
} else {
System.out.println("date1和date2相同");
}
}
}
```
2. 计算间隔天数
可以先将两个日期对象转换为Calendar对象,然后通过Calendar对象的getTimeInMillis()方法获取时间戳,再计算时间戳的差值,最后将差值转换为天数即可。
例如:
```java
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date date1 = new Date(2021, 5, 1);
Date date2 = new Date(2021, 6, 1);
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
long diff = cal2.getTimeInMillis() - cal1.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
System.out.println("相差" + days + "天");
}
}
```
3. 计算间隔周数
可以先计算出间隔天数,然后将天数除以7,再向下取整即可得到间隔周数。
例如:
```java
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date date1 = new Date(2021, 5, 1);
Date date2 = new Date(2021, 6, 1);
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
long diff = cal2.getTimeInMillis() - cal1.getTimeInMillis();
long days = diff / (24 * 60 * 60 * 1000);
long weeks = days / 7;
System.out.println("相差" + weeks + "周");
}
}
```
7-3 判断两个日期的先后,计算间隔天数、周数 分数 20 作者 吴光生 单位 新余学院
题目描述
输入两个日期,判断哪一个日期在前面,然后计算两个日期之间的间隔天数和周数。
输入格式
输入两行,每行有三个整数,分别表示年、月、日,中间用空格隔开。
输出格式
输出三行,依次表示哪一个日期在前面、两个日期之间的间隔天数、两个日期之间的间隔周数。中间均用空格隔开。
输入样例
2000 1 1
2000 1 2
输出样例
2000 1 1
1
0
说明
第一个日期为2000年1月1日,第二个日期为2000年1月2日,所以第一个日期在前面,两个日期之间的间隔天数为1,间隔周数为0。
提示
- 输入年份为4位整数,范围在[1900,2050]。
- 输入月份为2位整数,范围在[1,12]。
- 输入日期为2位整数,范围在[1,31]。
- 计算间隔天数时,其中一个日期在另一个日期之后,间隔天数为正数,否则为负数。
- 计算间隔周数时,间隔天数不足7天的按0周计算,超过7天但不足14天的按1周计算,以此类推。
阅读全文