SQL -> Java
date -> LocalDate
time -> LocalTime
timestamp -> LocalDateTime
重点介绍关于时间戳timestamp对应的LocalDateTime
根据年、月、日、时、分、秒、纳秒等创建LocalDateTime:
LocalTime zero = LocalTime.of(0, 0, 0); // 00:00:00
LocalTime mid = LocalTime.parse("12:00:00"); // 12:00:00
LocalTime now = LocalTime.now(); // 获取当前系统时间
LocalDatetime 的所有方法:
// 取当前日期:
LocalDate today = LocalDate.now(); // -> 2018-12-10
// 根据年月日取日期:
LocalDate crischristmas = LocalDate.of(2018, 12, 10); // -> 2018-12-10
// 根据字符串取:
LocalDate endOfFeb = LocalDate.parse("2018-12-10");
LocalDate.parse("2018-02-29"); // 无效日期无法通过:DateTimeParseException: Invalid date
// 取本月第1天:
LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2018-03-01
// 取本月第2天:
LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2018-03-02
// 取本月最后一天,再也不用计算是28,29,30还是31:
LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2018-12-31
// 取下一天:
LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); // 变成了2018-01-01
// 取2018年1月第一个周一:
LocalDate firstMondayOf2015 = LocalDate.parse("2018-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2018-01-02