JDK1.8 LocalDateTime 時間類與字符互轉

####說明: jdk1.8 嚴格區分LocalDate(日期) LocalDateTime(時間日期) LocalTime(時間) public static void main(String[] args) {java

System.out.println(LocalDate.now());//年月日
    System.out.println(LocalDateTime.now());//年月日時分秒
    System.out.println(LocalTime.now());//時分秒

    //localDateTime 獲取當前時間
    DateTimeFormatter dateTimeFormatter= DateTimeFormatter.ofPattern("yy-MM-dd");
    LocalDate localDateTime=LocalDate.now();
    localDateTime.format(dateTimeFormatter);
    System.out.println(localDateTime);

    //字符轉成LocalDateTime  
    String time="2018-05-18 23:24:25";
    DateTimeFormatter dateTimeFormatter2=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//嚴格遵照大小寫
    LocalDateTime localDate=LocalDateTime.parse(time,dateTimeFormatter2);
    LocalDate localDate1= LocalDate.of(localDate.getYear(),localDate.getMonth(),localDate.getDayOfMonth());
    System.out.println(localDate1);//2018-05-18

    //date 轉LocalDateTime
    java.util.Date date = new java.util.Date();
    Instant instant = date.toInstant();
    ZoneId zone = ZoneId.systemDefault();
    LocalDateTime localDateTime2 = LocalDateTime.ofInstant(instant, zone);
    System.out.println(localDateTime2);


    // LocalDateTime 轉date
    LocalDateTime localDateTime3 = LocalDateTime.now();
    Instant instan3 = localDateTime3.atZone(zone).toInstant();
    java.util.Date date3 = Date.from(instant);
    System.out.println(date3);


     //獲取某個時間點的時間
     LocalDateTime today_start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);//當天最小時刻 00:00:00
     LocalDateTime today_end = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);//當天最大時刻 23:59:59


     //比較時間差
     java.time.Duration duration = java.time.Duration.between(LocalDateTime   startTime,  LocalDateTime  endTime );
     duration.toMinutes()    //兩個時間差的分鐘數
              toNanos()//納秒
              getSeconds() //秒
              toMillis()//毫秒
              toMinutes()//分鐘
              toHours()//小時



}
相關文章
相關標籤/搜索