LocalTime localTime = now.toLocalTime(); //获取当前本机时间 例如2023-05-30 LocalDate localDate = now.toLocalDate(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置日期格式为 yyyy-MM-dd //获取数据库最近打卡的时间 2023-05-30 if (lastAttendance==null){ if (localTime.isBefore(LocalTime.of(9, 0))){ attendance.setType("上班签到"); attendance.setNumber(1); }else { attendance.setType("上班迟到"); attendance.setNumber(1); attendanceService.save(attendance); return "success"; } } String formattedDate = sdf.format(lastAttendance.getDate());
时间: 2024-02-14 07:05:49 浏览: 73
java8 LocalDate LocalDateTime等时间类用法实例分析
5星 · 资源好评率100%
这段代码首先获取当前本机时间和日期,然后通过SimpleDateFormat将日期格式化为"yyyy-MM-dd"的字符串,接着获取数据库中最近一次打卡记录的日期并将其格式化为相同的字符串格式。如果最近一次打卡记录为null,则根据当前时间判断是签到还是迟到,并将打卡类型和打卡次数设置为1。如果最近一次打卡记录不为null,则判断是否是当天,如果是当天,则根据上次打卡类型和时间判断当前打卡类型和次数,并进行相应的设置。如果不是当天,则根据当前时间判断是签到还是迟到,并将打卡类型和打卡次数设置为1。
阅读全文