java - 将日期列表与当前日期进行比较,即列表中有多少日期等于 currentdate
问题描述
想要比较日期列表(一一获取并与今天的当前日期进行比较,如果相等则获取与当前日期相等的日期get flag=1
并使用它
@RequestMapping("/test")
public ModelAndView showdate() {
ModelAndView model = new ModelAndView("test");
List<Date> newDate = new ArrayList<Date>();
newDate = studentDao.Datelist();
long millis = System.currentTimeMillis();
java.sql.Date date = new java.sql.Date(millis);
System.out.println(date);
System.out.println(newDate);
int flag = 0;
for (Date newDate1 : newDate) { //for each construct
// Enter code here
System.out.println(newDate1);
if (date.compareTo(newDate1) == 0) {
flag = 1;
}
}
if (flag == 1) {
System.out.println("date is equal");
} else {
System.out.println("date is not equal");
}
return model;
}
解决方案
java.util.Date
还包含时间详细信息(小时/分钟/秒)等。当您打印日期变量时,您肯定可以看到。所以你只需要获取日期部分。另一个问题是这个旧的(过时的)类的使用。java.time
自 java 7 以来,它已被类取代。
// converting java.util.Date to java.time.LocalDate
java.util.Date date = new java.util.Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate 的实例不包含时间详细信息,可以安全地进行比较。
编辑
转换java.sql.Date
为java.time.LocalDate
很简单toLocalDate()
推荐阅读
- python - 在 emacs 中的 Python 飞行检查
- javascript - 使用 React/Gatsby 在该页面上突出显示菜单图标?
- python - 平滑数据,因此使用 matplotlib 和 FFT 数据进行绘图看起来更好(频谱)
- bash - 如何通过其他文本行作为键对文本行进行排序?
- spring-boot - @XmlElement(name = "", required = true) 不能使用 springboot 验证器
- c++ - 尝试使用包含的 Qt 类库库构建项目时出错
- python - 如何翻译字典列表介绍字典列表?
- laravel-5.8 - 如何在 laravel 中编辑图像和更新
- css - 使用粘性位置删除不需要的空间
- angular - 与模板中的异步管道组合以观察值变化时,管道运算符不起作用