Java8 LocalDateTime常用方法
1.获取当前时间2.获取秒,毫秒3.和String互转4.和Date互转5.常用方法
1.获取当前时间
LocalDateTime
.now()
2.获取秒,毫秒
Long second
= LocalDateTime
.now().toEpochSecond(ZoneOffset
.of("+8"));
Long milliSecond
= LocalDateTime
.now().toInstant(ZoneOffset
.of("+8")).toEpochMilli();
3.和String互转
DateTimeFormatter formatter
= DateTimeFormatter
.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateTime
= LocalDateTime
.now(ZoneOffset
.of("+8")).format(formatter
);
String dateTimeStr
= "2019-11-01 11:11:11";
DateTimeFormatter df
= DateTimeFormatter
.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime
= LocalDateTime
.parse(dateTimeStr
, df
);
4.和Date互转
public static LocalDateTime
dateConvertToLocalDateTime(Date date
) {
return date
.toInstant().atOffset(ZoneOffset
.of("+8")).toLocalDateTime();
}
public static Date
localDateTimeConvertToDate(LocalDateTime localDateTime
) {
return Date
.from(localDateTime
.toInstant(ZoneOffset
.of("+8")));
}
5.常用方法
LocalDate : 只含年月日的日期对象
LocalTime :只含时分秒的时间对象
LocalDateTime : 同时含有年月日时分秒的日期对象
LocalDateTime localDateTime
= LocalDateTime
.of(2018, 1, 13, 9, 43, 20);
LocalDateTime plusYearsResult
= localDateTime
.plusYears(2L
);
LocalDateTime plusMonthsResult
= localDateTime
.plusMonths(3L
);
LocalDateTime plusDaysResult
= localDateTime
.plusDays(7L
);
LocalDateTime plusHoursResult
= localDateTime
.plusHours(2L
);
LocalDateTime plusMinutesResult
= localDateTime
.plusMinutes(10L
);
LocalDateTime plusSecondsResult
= localDateTime
.plusSeconds(10L
);
LocalDate withDayOfYearResult
= localDate
.withDayOfYear(200);
LocalDate withDayOfMonthResult
= localDate
.withDayOfMonth(5);
LocalDate withYearResult
= localDate
.withYear(2017);
LocalDate withMonthResult
= localDate
.withMonth(5);
int year
= localDateTime
.getYear();
Month month
= localDateTime
.getMonth();
int day
= localDateTime
.getDayOfMonth();
int hour
= localDateTime
.getHour();
int minute
= localDateTime
.getMinute();
int second
= localDateTime
.getSecond();
LocalDate localDate1
= LocalDate
.of(2017, 8, 8);
LocalDate localDate2
= LocalDate
.of(2018, 8, 8);
boolean date1IsBeforeDate2
= localDate1
.isBefore(localDate2
);
Clock clock
= Clock
.systemUTC();
LocalDate date1
= LocalDate
.of(2018, 2, 13);
LocalDate date2
= LocalDate
.of(2017, 3, 12);
Period period
= Period
.between(date1
, date2
);
System
.out
.println("相差年数 : " + period
.getYears());
System
.out
.println("相差月数 : " + period
.getMonths());
System
.out
.println("相差日数 : " + period
.getDays());
System
.out
.println("-------------------------------");
long years
= period
.get(ChronoUnit
.YEARS
);
long months
= period
.get(ChronoUnit
.MONTHS
);
long days
= period
.get(ChronoUnit
.DAYS
);
System
.out
.println("相差的年月日分别为 : " + years
+ "," + months
+ "," + days
);
System
.out
.println("-------------------------------");
LocalDateTime date3
= LocalDateTime
.now();
LocalDateTime date4
= LocalDateTime
.of(2018, 1, 13, 22, 30, 10);
Duration duration
= Duration
.between(date3
, date4
);
System
.out
.println(date3
+ " 与 " + date4
+ " 间隔 " + "\n"
+ " 天 :" + duration
.toDays() + "\n"
+ " 时 :" + duration
.toHours() + "\n"
+ " 分 :" + duration
.toMinutes() + "\n"
+ " 毫秒 :" + duration
.toMillis() + "\n"
+ " 纳秒 :" + duration
.toNanos() + "\n"
);
参考文档: https://blog.csdn.net/u014044812/article/details/79231738 https://www.cnblogs.com/dauber/p/9466539.html https://www.jianshu.com/p/048ee8580639