<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.7</version> </dependency>
特殊需要使用的整理(持续更新…):
/ * 时间工具类 * * @since 2021/1/28 */ public class DateUtils {
/ * 获取当月第一天(hutool有) * @since 2021-01:23 15:16:36 */ public static Date getMonthFirstDay() {
Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.MONTH, 0); return calendar.getTime(); } / * 获取当月最后一天(hutool有) * @since 2021-01:23 15:16:36 */ public static Date getMonthLastDay() {
Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_MONTH, 0); calendar.add(Calendar.MONTH, 1); return calendar.getTime(); } / * 获取某月最后一天(hutool有) * @since 2021-01:23 15:16:36 */ public static Date getMonthLastDayByDate(Date date) {
Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_MONTH, 0); calendar.add(Calendar.MONTH, 1); return calendar.getTime(); } / * 获得当天最小时间(hutool有) * * @param date date * @since 2021-01:13 18:33:09 */ public static Date getStartOfDay(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault()); LocalDateTime startOfDay = localDateTime.with(LocalTime.MIN); return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant()); } / * 获得当天最大时间(hutool有,但是这是23:59.59.x,x是大于0的数,保存到mysql后会,时间会变为第二天00:00:00) * * @param date date * @since 2021-01:13 18:33:09 */ public static Date getEndOfDay(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(date.getTime()), ZoneId.systemDefault()); // withNano(0)的设置是避免mysql存储时变为00:00:00问题 LocalDateTime endOfDay = localDateTime.with(LocalTime.MAX).withNano(0); return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant()); } }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227390.html原文链接:https://javaforall.net
