判断两个时间是否为同一天,即判断它们的年、月、日是否相同,可以利用Java中的日期类来实现。下面是两种方法。
方法一:使用Calendar类
/**
* 判断两个时间是否为同一天
* @param date1 时间1
* @param date2 时间2
* @return 是否为同一天
*/
public static boolean isSameDay1(Date date1, Date date2) {
Calendar cal1 = Calendar.getInstance();
cal1.setTime(date1);
Calendar cal2 = Calendar.getInstance();
cal2.setTime(date2);
return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
&& cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH)
&& cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH);
}
上述代码中,我们通过获取两个时间实例的年、月、日信息来进行比较,如果三个信息相同,则认为这两个时间为同一天。
方法二:使用SimpleDateFormat类
/**
* 判断两个时间是否为同一天
* @param date1 时间1
* @param date2 时间2
* @return 是否为同一天
*/
public static boolean isSameDay2(Date date1, Date date2) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
return sdf.format(date1).equals(sdf.format(date2));
}
上述代码中,我们使用SimpleDateFormat类将日期格式化为"yyyyMMdd"格式,然后对比两个时间的字符串形式是否相等,来判断这两个时间是否为同一天。
下面是两条示例:
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse("2021-07-01");
Date date2 = sdf.parse("2021-07-01");
Date date3 = sdf.parse("2021-07-02");
// 方法一示例
System.out.println(isSameDay1(date1, date2)); // true
System.out.println(isSameDay1(date1, date3)); // false
// 方法二示例
System.out.println(isSameDay2(date1, date2)); // true
System.out.println(isSameDay2(date1, date3)); // false
}
可以看到,无论是使用方法一还是方法二,都能够准确判断两个时间是否为同一天。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java判断两个时间是不是同一天的方法 - Python技术站