zoukankan      html  css  js  c++  java
  • Java8 新特性

    package com.xq.java8;
    
    import org.junit.jupiter.api.Test;
    
    import java.time.*;
    import java.time.format.DateTimeFormatter;
    import java.time.temporal.TemporalAdjusters;
    import java.util.Set;
    
    public class TestLocalDateTime {
    
        // ZonedDate、ZonedTime、ZonedDateTime
        @Test
        public void test7(){
            Set<String> set = ZoneId.getAvailableZoneIds();
            set.forEach(System.out::println);
        }
        @Test
        public void test8(){
            LocalDateTime ldt = LocalDateTime.now(ZoneId.of("America/Rosario"));
            System.out.println(ldt);
            LocalDateTime ldt2 = LocalDateTime.now(ZoneId.of("America/Rosario"));
            ZonedDateTime zdt = ldt2.atZone(ZoneId.of("America/Rosario"));
            System.out.println(zdt);
        }
    
        //DateTimeFormatter : 格式化时间 / 日期
        @Test
        public void test6(){
            DateTimeFormatter dt = DateTimeFormatter.ISO_DATE;
            LocalDateTime ldt = LocalDateTime.now();
            String str = ldt.format(dt);
            System.out.println(str);
            System.out.println("--------------------");
    
            DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
            String strDate2 = dtf2.format(ldt);
            System.out.println(strDate2);
    
            LocalDateTime newdate = ldt.parse(strDate2,dtf2);
            System.out.println(newdate);
        }
    
        // TemporalAdjuster:时间校正器
        @Test
        public void test5(){
            LocalDateTime ldt = LocalDateTime.now();
            System.out.println(ldt);
    
            LocalDateTime ldt2 = ldt.withDayOfMonth(10);
            System.out.println(ldt2);
    
            LocalDateTime ldt3 = ldt.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
            System.out.println(ldt3);
    
            // 自定义:下一个工作日
            LocalDateTime ldt5 = ldt.with((l) -> {
                LocalDateTime ldt4 = (LocalDateTime)l;
                DayOfWeek dow = ldt4.getDayOfWeek();
                if(dow.equals(DayOfWeek.FRIDAY)){
                    return ldt4.plusDays(3);
                } else if(dow.equals(DayOfWeek.SATURDAY)){
                    return ldt4.plusDays(2);
                } else {
                    return ldt4.plusDays(1);
                }
            });
            System.out.println(ldt5);
        }
        // 1.LocalDate LocalTime  LocalDateTime
        // 2. Instant: 时间戳(以 Unix 元年:1970年1月1日 00:00:00 到某个时间的毫秒值)
        @Test
        public  void test2(){
            Instant ins1 = Instant.now();
            System.out.println(ins1);
            OffsetDateTime odt = ins1.atOffset(ZoneOffset.ofHours(8));
            System.out.println(odt);
            System.out.println(ins1.toEpochMilli());
        }
        @Test
        public void test1(){
            LocalDateTime ldt = LocalDateTime.now();
            System.out.println(ldt);
    
            LocalDateTime ldt2 = LocalDateTime.of(2020,5,13,13,11,33);
            System.out.println(ldt2);
    
            LocalDateTime ldt3 = ldt.plusYears(2);
            System.out.println(ldt3);
    
            LocalDateTime ldt4 = ldt.minusMonths(2);
            System.out.println(ldt4);
    
            System.out.println(ldt.getYear());
            System.out.println(ldt.getMonthValue());
            System.out.println(ldt.getDayOfMonth());
            System.out.println(ldt.getHour());
            System.out.println(ldt.getMinute());
        }
    }
    博客园:https://www.cnblogs.com/xianquan
    Copyright ©2020 l-coil
    【转载文章务必保留出处和署名,谢谢!】
查看全文
  • 相关阅读:
    京东白条
    Linux命令(40)rm 命令
    Linux命令(39)rmdir 命令
    Linux命令(38)pstree命令
    Linux命令(37)type命令
    Linux命令(36)help命令
    Linux命令(35)du命令
    CentOS7修改主机名
    Linux命令(34)tac命令
    Linux命令(33)cat命令
  • 原文地址:https://www.cnblogs.com/xianquan/p/12905984.html
  • Copyright © 2011-2022 走看看