LocalDateTime示例

220 阅读1分钟
 /**
     * date 有的,LocalDateTime也有。
     * date 没有的,LocalDateTime还有。
     * jdk8中才有的日期类
     */
    @Test
    void testLocalDateTime(){
        /**
         * 当前时间
         */
        System.out.println(LocalDateTime.now());    //2021-10-08T15:47:37.066
        System.out.println(LocalDate.now());        //2021-10-08
        System.out.println(LocalTime.now());        //15:47:37.066

        /**
         * 构造日期日期
         */
        LocalDateTime localDateTime = LocalDateTime.of(2021,10,8,15,44,01);
        LocalDate localDate = LocalDate.of(2021,10,8);
        LocalTime localTime = LocalTime.of(15,44,01);

        System.out.println(localDateTime.toString());//2021-10-08T15:44:01
        System.out.println(localDate.toString());    //2021-10-08
        System.out.println(localTime.toString());    //15:44:01

        /**
         * 获得年月日
         */
        int year = localDateTime.getYear();
        int month = localDateTime.getMonthValue();
        int day = localDateTime.getDayOfMonth();
        System.out.println(String.format("year:%s,month:%s,day:%s",year,month,day));//year:2021,month:10,day:8

        /**
         * 获得秒数和毫秒数
         */
        Instant instant = Instant.now();
        System.out.println(instant.getEpochSecond());
        System.out.println(instant.getNano());

        localDateTime = localDateTime.plusYears(1);
        localDate = localDate.plusYears(1);
        localTime = localTime.plusHours(1);

        System.out.println(localDateTime.toString());//2022-10-08T15:44:01
        System.out.println(localDate.toString());    //2022-10-08
        System.out.println(localTime.toString());    //16:44:01

        /**
         * 和SimpleDateFormat相比,DateTimeFormatter是线程安全的
         */
        String localDateTimeStr = localDateTime.format(DateTimeFormatter.BASIC_ISO_DATE);
        System.out.println(localDateTimeStr);//20221008
        LocalDateTime parseDate = LocalDateTime.parse("20211008154401",DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
        System.out.println(parseDate.toString());//2021-10-08T15:44:01
    }