zoukankan      html  css  js  c++  java
  • java时间类的使用

     
    <div style="background-color:black">
    jshell> LocalDate.now()
    $46 ==> 2018-07-07
    
    jshell> LocalDate.of(2018, 3, 30)
    $47 ==> 2018-03-30
    
    jshell> LocalTime.now()
    $48 ==> 00:32:06.883656
    
    jshell> LocalTime.of(12,43,12,33333);
    $49 ==> 12:43:12.000033333
    
    jshell> LocalDateTime.now()
    $50 ==> 2018-07-07T00:32:30.335562400
    
    jshell> LocalDateTime.of(2018, 12, 30, 12,33)
    $51 ==> 2018-12-30T12:33
    
    jshell> LocalDateTime.of(LocalDate.now(), LocalTime.now())
    $52 ==> 2018-07-07T00:40:38.198318200
    
    </div>
    <div style="background-color:pink"> 
    
    计算日期和时间
    接下来我们看看怎么对创建出来的日期和时间进行设置和计算:
    
    jshell> LocalDate d = LocalDate.now()
    d ==> 2018-07-07
    
    jshell> d.plusDays(12)
    $54 ==> 2018-07-19
    
    jshell> d
    d ==> 2018-07-07
    
    jshell> d.plusMonths(2)
    $56 ==> 2018-09-07
    
    jshell> d.minusDays(5)
    $57 ==> 2018-07-02
    
    jshell> d.minusWeeks(4)
    $58 ==> 2018-06-09
    
    
    </div>
    <div style="background-color:black">
    比较日期和时间
    当我们想知道给定的时间或日期是在另一个时间/日期之前还是之后,我们就可以用到isBefore()和isAfter()方法,如下所示:
    
    jshell> var d1 = LocalDate.of(2018, 7, 6)
    d1 ==> 2018-07-06
    
    jshell> var d2 = LocalDate.of(2018, 7, 7)
    d2 ==> 2018-07-07
    
    jshell> d1.isAfter(d2)
    $64 ==> false
    
    jshell> d1.isBefore(d2)
    $65 ==> true
    
    jshell> var dt1 = LocalDateTime.of(2018, 7, 7, 12, 30)
    dt1 ==> 2018-07-07T12:30
    
    jshell> var dt2 = LocalDateTime.of(2018, 7, 7, 14, 30)
    dt2 ==> 2018-07-07T14:30
    
    jshell> dt1.isBefore(dt2)
    $68 ==> true
    
    jshell> dt1.isAfter(dt2)
    $69 ==> false
    
    
    </div>
    <div style="background-color:pink">
    在String和日期/时间之间转换
    我们经常的一个需求就是把String类型的字符串转化成日期或者时间,同时,我们也需要把日期和时间转变成String字符串用于显示。在以前使用java.util.Date的时候,我们一般使用java.text.SimpleDateFormat去完成日期/时间和字符串的转换,在新的日期时间API中,我们使用全新的java.time.format.DateTimeFormatter。
    
    如果你遵循ISO标准在日期/时间和字符串之间进行转换,那么这个事情会变得很容易,因为在java.time.format.DateTimeFormatter中,已经内置了ISO标准的格式。我们来看看代码:
    
    jshell> import java.time.*
    
    jshell> LocalDateTime ldt = LocalDateTime.now()
    ldt ==> 2018-09-26T22:58:32.229096300
    
    jshell> import java.time.format.*
    
    jshell> ldt.format(DateTimeFormatter.ISO_DATE)
    $4 ==> "2018-09-26"
    
    jshell> ldt.format(DateTimeFormatter.ISO_DATE_TIME)
    $5 ==> "2018-09-26T22:58:32.2290963"
    
    jshell> ldt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
    $9 ==> "2018-09-26T22:58:32.2290963"
    
    jshell> ldt.format(DateTimeFormatter.BASIC_ISO_DATE)
    $10 ==> "20180926"
    
    </div>
  • 相关阅读:
    内置函数详解
    lambda函数
    第八章(5)
    第八章(4)
    第八章(3)
    第八章(2)
    第八章(1)
    第七章(3)
    第七章(2)
    第七章(1)
  • 原文地址:https://www.cnblogs.com/xqhv587/p/11887826.html
Copyright © 2011-2022 走看看