开发过程中我们一般会在数据库存储详细的时间数据,但是在获取数据的时候又需要精确到天来对数据进行分组。
# 已废弃的方法
| Date now = new Date(); |
| now.setHours(0); |
| now.setMinutes(0); |
| now.setSeconds(0) |
上述方法在 JDK version 1.1 之后就废弃掉了
# 通用方法
| Date operationTime = task.getOperationTime(); |
| Calendar calendar = Calendar.getInstance(); |
| calendar.setTime(operationTime); |
| calendar.set(Calendar.HOUR_OF_DAY, 0); |
| calendar.set(Calendar.MINUTE, 0); |
| calendar.set(Calendar.SECOND, 0); |
| calendar.set(Calendar.MILLISECOND, 0); |
# Java8 方法
| Date operationTime = task.getOperationTime(); |
| LocalDate localDate = operationTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); |
| Date formatDate = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); |