【发布时间】:2020-07-29 16:06:13
【问题描述】:
我在使用 java 日历日期时遇到问题。 基本上我有一个假期列表,想检查一个日期是否属于 到列表中。仍然对 Calendar 类的方式感到困惑 正在创建和格式化日期。
请看以下代码示例:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CompareCalendarDates {
public static void main(String args[]) {
Date date1 = null;
try {
date1= new SimpleDateFormat("yyyy-MM-dd").parse("2019-12-25");
} catch (ParseException e) {
date1 = null;
}
Calendar calendar1 = Calendar.getInstance();
calendar1.clear();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.clear();
calendar2.setLenient(false); // Don't automatically convert invalid date.
calendar2.set(2019, 11, 25, 0, 0, 0);
calendar2.getTimeInMillis();
boolean isEqual = calendar1.equals(calendar2);
System.out.println ("Are to dates equal: " + isEqual);
}
}
我正在使用日历类中的不同方法创建 2 个日期。 在我看来,日期应该相等,但事实并非如此。 我错过了什么?方法之间有什么区别 setTime() 和设置?
【问题讨论】:
-
不要使用
Calendar,而是使用Java 8中引入的java.time类型。
标签: java date calendar compare