使用 Date 和 SimpleDateFormat会引发线程安全问题
// 获取当前你时间 Date date = new Date(); // 格式化时间 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 获取当前日期 LocalDate localDate = LocalDate.now(); // 自定义日期 LocalDate localDateOf = LocalDate.of(2022, 7, 8); // 获取年 int year = localDate.getYear(); // 获取月 int month = localDate.getMonthValue(); // 获取日 int day = localDate.getDayOfMonth(); // 月初 LocalDate firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth()); // 月末 LocalDate lastDayOfMonth = localDate.with(TemporalAdjusters.lastDayOfMonth()); // 年初 LocalDate firstDayOfYear = localDate.with(TemporalAdjusters.firstDayOfYear()); // 年末 LocalDate lastDayOfYear = localDate.with(TemporalAdjusters.lastDayOfYear());
// 获取当前时间 LocalTime localTime = LocalTime.now(); // 自定义时间 LocalTime customizeLocalTime = LocalTime.of(13, 51, 10); //获取小时 int hour = localTime.getHour(); int hour1 = localTime.get(ChronoField.HOUR_OF_DAY); //获取分 int minute = localTime.getMinute(); int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR); //获取秒 int second = localTime.getSecond(); int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE);
注意LocalDateTime 是没有时区概念的,如果服务器是utc时间 返回做本地化的时候需要注意一下
// 获取当前时间 LocalDateTime localDateTime = LocalDateTime.now(); // 自定义当前时间 LocalDateTime localDateTime1 = LocalDateTime.of(2019, Month.SEPTEMBER, 10, 14, 46, 56); // 格式化当前时间 String localDateTimeFormat = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); // 当前时间加 1年 LocalDateTime localDateTimePlusYears = localDateTime.plusYears(1); // 当前时间减 1年 LocalDateTime localDateTimeMinusYears = localDateTime.minusYears(1); // 当前时间加 1个月 LocalDateTime localDateTimePlusMonths = localDateTime.plusMonths(1); // 当前时间减 1个月 LocalDateTime localDateTimeMinusMonths = localDateTime.minusMonths(1); // 当前时间减 1天 LocalDateTime localDateTimePlusDays = localDateTime.plusDays(1); // 当前时间减 1天 LocalDateTime localDateTimeMinusDays = localDateTime.minusDays(1); // 获取日期 LocalDate localDate = localDateTime.toLocalDate(); // 获取时间 LocalTime localTime = localDateTime.toLocalTime();
实体类字段加上@JsonFormat:返给前端格式化
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime gmtModified;
实体类字段加上@DateTimeFormat:接收前端格式化
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime gmtModified;