1. public class TestJava8Time {
    2. public static void main(String[] args) {
    3. //1、java8时间格式化
    4. DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    5. /**
    6. * 输出结果:2019-09-16 11:08:43
    7. */
    8. System.out.println(dateTimeFormatter.format(LocalDateTime.now()));
    9. //2、时间的各种操作
    10. //2.1 加上一天(2019-09-17T11:18:24.050),减去一个小时(2019-09-16T10:18:43.562)
    11. System.out.println(LocalDateTime.now().plusDays(1L).toString());
    12. System.out.println(LocalDateTime.now().minusHours(1L).toString());
    13. //2.2 本周的星期一(2019-09-16)和星期天的日期(2019-09-22)
    14. System.out.println(LocalDate.now().with(DayOfWeek.MONDAY));
    15. System.out.println(LocalDate.now().with(DayOfWeek.SUNDAY));
    16. //2.3 这一天开始(2019-09-16T00:00)和结束(2019-09-16T23:59:59.999999999)
    17. System.out.println(LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
    18. System.out.println(LocalDateTime.of(LocalDate.now(), LocalTime.MAX));
    19. //2.4 通过具体数字生成日期(2019-09-11T11:12:14)
    20. System.out.println(LocalDateTime.of(2019,9,11,11,12,14));
    21. //2.5 字符串生成日期:2019-09-16 10:18:43
    22. System.out.println(LocalDateTime.parse("2019-09-16T10:18:43").toString());
    23. //2.6 通过格式化的字符串生成日期:返回结果:2019-09-16T10:18:43
    24. System.out.println(LocalDateTime.parse("2019-09-16 10:18:43",dateTimeFormatter));
    25. //3 Timestamp和LocalDateTime的转化(这个我经常会用到,因为java8时间操作很方便,而很多时候,最终结果都需要时间戳)
    26. Timestamp timestamp = Timestamp.valueOf(LocalDateTime.now());//然后可以通过Timestamp可以获取时间戳
    27. LocalDateTime dateTime = new Timestamp(System.currentTimeMillis()).toLocalDateTime();//将时间戳转成LocalDateTime
    28. }
    29. }