获取当前的时间

LocalDateTime time=LocalDateTime.now();
System.out.println("当前时刻"+time);
System.out.println("当前年份"+time.getYear());
System.out.println("当前月份"+time.getMonthValue());
System.out.println("当前日份"+time.getDayOfMonth());
System.out.println("当前时"+time.getHour());
System.out.println("当前分"+time.getMinute());
System.out.println("当前秒"+time.getSecond());

构造一个包含年月日的时间

这里构造2020-01-05 12:32:56

LocalDateTime time=LocalDateTime.of(2020,1,5,12,32,56);

更改时间

LocalDateTime time = LocalDateTime.now();

time = time.minusMonths(2);//减少两个月
time = time.plusYears(10);//增加十个月

time = time.withHour(8);//设置时间为8点

格式化与反格式化

LocalDateTime time = LocalDateTime.now();

//格式化
String ans = time.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(ans);

//反格式化
LocalDateTime time2=LocalDateTime.parse(ans,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(time2);

时间戳转换

// 时间戳转LocalDateTime(LocalDate)
long timestamp = System.currentTimeMillis();
LocalDate localDate = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDate();
LocalDateTime localDateTime = Instant.ofEpochMilli(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();


// LocalDate转时间戳
long timestamp = localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli();

// LocalDateTime转时间戳
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

Date转换

// Date转LocalDateTime(LocalDate)
Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();

// LocalDate转Date
Date date = Date.from(localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());

// LocalDateTime转Date
LocalDateTime localDateTime = LocalDateTime.now();

hhhhh