目录
LocalDateTime 时间转换
//毫秒值
long milli = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
//毫秒值转化时间戳
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(milli), ZoneId.of("Asia/Shanghai"));
String format = df.format(localDateTime);
System.out.println(format);
LocalDateTime基本使用
// 2021-11-08T11:38:36.381
LocalDateTime now = LocalDateTime.now();
// 2021 获取日期的年
int year = now.getYear();
// NOVEMBER 所在的月
Month month = now.getMonth();
// 11 第几个月
int monthValue = now.getMonthValue();
// 312
int dayOfYear = now.getDayOfYear();
// 8
int dayOfMonth = now.getDayOfMonth();
// MONDAY
DayOfWeek dayOfWeek = now.getDayOfWeek();
// 1
int dayOfWeekValue = dayOfWeek.getValue();
// 11
int hour = now.getHour();
// 38
int minute = now.getMinute();
// 36
int second = now.getSecond();
long seconds = Instant.now().getEpochSecond(); // 秒时间戳(10位)
long milliSeconds = Instant.now().toEpochMilli(); // 毫秒时间戳(13位)
LocalDateTime dateTimeFromSecond = LocalDateTime.ofInstant(
Instant.ofEpochSecond(seconds), ZoneOffset.ofHours(8)
); // 秒转datetime
LocalDateTime dateTimeFromMilliSecond = LocalDateTime.ofInstant(
Instant.ofEpochMilli(milliSeconds), ZoneOffset.ofHours(8)
); // 毫秒转datetime
自定义日期--日期减
LocalDateTime dateTime = LocalDateTime.of(2020, 1, 29, 14, 35, 51); // 2020-01-29T14:35:51
LocalDateTime localDateTime1 = dateTime.minusSeconds(1); // 2020-01-29T14:35:50
LocalDateTime localDateTime2 = dateTime.minusMinutes(1); // 2020-01-29T14:34:51
LocalDateTime localDateTime3 = dateTime.minusHours(1); // 2020-01-29T13:35:51
LocalDateTime localDateTime4 = dateTime.minusDays(1); // 2020-01-28T14:35:51
LocalDateTime localDateTime5 = dateTime.minusWeeks(1); // 2020-01-22T14:35:51
LocalDateTime localDateTime6 = dateTime.minusMonths(1); // 2019-12-29T14:35:51
LocalDateTime localDateTime7 = dateTime.minusYears(1); // 2019-01-29T14:35:51
System.out.println(localDateTime1);
System.out.println(localDateTime2);
System.out.println(localDateTime3);
System.out.println(localDateTime4);
System.out.println(localDateTime5);
System.out.println(localDateTime6);
System.out.println(localDateTime7);
Instant 类操作
long second = Instant.now().getEpochSecond(); // 1636349708
long milliSecond = Instant.now().toEpochMilli(); // 1636349708988
Instant instant1 = Instant.ofEpochSecond(second); // 2021-11-08T05:35:08Z
Instant instant2 = Instant.ofEpochMilli(milliSecond); // 2021-11-08T05:35:08.988Z
System.out.println(second);
System.out.println(milliSecond);
System.out.println(instant1);
System.out.println(instant2);
Duration类,求时间差,天数差。
Duration duration = Duration.between(
LocalDateTime.now(), LocalDateTime.now().plusDays(1)
); // PT24H
long seconds = duration.getSeconds(); // 86400
long seconds2 = duration.get(ChronoUnit.SECONDS); // 86400
long days1 = duration.toDays(); // 1
Duration ofDays = Duration.ofDays(1); // PT24H
Duration ofHours = Duration.ofHours(1); // PT1H
Duration ofMinutes = Duration.ofMinutes(1); // PT1M
Duration ofSeconds = Duration.ofSeconds(1); // PT1S
System.out.println(days1);
System.out.println(ofDays);