• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java8新特性
    Java9新特性

    Java8新增java.time包

     

     

    java.util.Date日期類不是線程安全的。

     

    在JDK8中引入了線程安全的時間類。

     

    package com.wkcto.time;
    
    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    import java.time.format.DateTimeFormatter;
    import java.time.format.FormatStyle;
    import java.time.temporal.ChronoUnit;
    
    /**
     * java.time包中線程安全的日期類
     * Author : 動力節點老崔
     */
    public class Test {
        public static void main(String[] args) {
            //1)LocalDate日期類
            LocalDate date = LocalDate.now();   //當前日期
            System.out.println( date );     //2019-04-24
    
            //2)當前時間
            LocalTime time = LocalTime.now();
            System.out.println( time );     //19:50:35.344
    
            //3)日期與時間
            LocalDateTime now = LocalDateTime.now();
            System.out.println(now);        //2019-04-24T19:51:03.726
    
            //4)返回當前日期的各個屬性值
            System.out.println( now.getYear());
            System.out.println( now.getMonthValue());
            System.out.println( now.getDayOfMonth());
            System.out.println( now.getHour());
            System.out.println( now.getMinute());
            System.out.println( now.getSecond());
            System.out.println( now.getNano());     //在毫秒數后面添加6個0
    
            //5)自定義時間
            LocalDateTime another = LocalDateTime.of(2100, 10, 12, 8, 58, 28);
            System.out.println( another );
    
            //6)使用plus增加時間, minus可以減少時間
            another = another.plusYears(1);
            System.out.println(another);
    
            another = another.plusMonths(1);
            System.out.println(another);
    
            another = another.plusDays(1);
            System.out.println(another);
    
            another = another.plusHours(1);
            System.out.println(another);
    
            another = another.plusMinutes(1);
            System.out.println(another);
    
            another = another.plusSeconds(1);
            System.out.println(another);
    
            another = another.plus(10, ChronoUnit.YEARS);
            System.out.println(another);
    
            //7)設置時間
            another = another.withYear(2088);
            another = another.withMonth(7);
            System.out.println( another);
    
            //8)判斷星期幾
            System.out.println( another.getDayOfWeek());
    
            //9)把日期轉換為指定格式的字符串
            DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
            //LocalDateTime類中有一個format( DateTimeFormatter) 實例方法可以把日期轉換為指定格式字符串
            System.out.println( now.format(formatter) );        //2019年4月24日 下午08時03分28秒
    
            formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
            System.out.println( now.format(formatter));     //19-4-24 下午8:03
    
            //自定義日期格式: y年, M月 d日 H小時 m分鐘 s秒 S毫秒
            formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss SSS");
            System.out.println( now.format(formatter));  //2019年04月24日 20:05:16 338
    
            //10)把字符串轉換為日期
            String text = "2089年8月12日 8:28:58";
            formatter = DateTimeFormatter.ofPattern("yyyy年M月dd日 H:mm:ss");
            // LocalDateTime.parse(text, formatter)靜態方法,可以把text文件以formatter格式轉換為日期對象
            another = LocalDateTime.parse(text, formatter);
            System.out.println(another);
    
        }
    }

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏