成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

樂字節(jié)-Java8新特性之Date API

suemi / 1181人閱讀

摘要:上一篇文章,小樂給大家?guī)砹诵绿匦灾酉聛肀疚膶o大家介紹新特性之前言通過發(fā)布新的來進(jìn)一步加強(qiáng)對日期與時間的處理。

上一篇文章,小樂給大家?guī)砹薐ava8新特性之Optional,接下來本文將會給大家介紹Java8新特性之Date API

前言:

Java 8通過發(fā)布新的Date-Time API來進(jìn)一步加強(qiáng)對日期與時間的處理。 舊版的 Java 中,日期時間 API 存在諸多問題 :

非線程安全?? java.util.Date 是非線程安全的,所有的日期類都是可變的,

設(shè)計(jì)很差?? Java的日期/時間類的定義并不一致,在java.util和java.sql的包中都有日期類,此外用于格式化和解析的類在java.text包中定義。

時區(qū)處理麻煩?? 日期類并不提供國際化,沒有時區(qū)支持

Java 8 在?java.time?包下提供了很多新的 API。以下為兩個比較重要的 API:

Local(本地)?: 簡化了日期時間的處理,沒有時區(qū)的問題。

Zoned(時區(qū))?? 通過制定的時區(qū)處理日期時間。

新的java.time包涵蓋了所有處理日期,時間,日期/時間,時區(qū),時刻(instants),過程(during)與時鐘(clock)的操作。

1、LocalDateTime

LocalDateTime ldt = LocalDateTime.now();
// 獲取系統(tǒng)當(dāng)前時間
System.out.println(ldt);
LocalDateTime ldt2 = LocalDateTime.of(2019, 01, 01, 12, 12, 12, 888000000);
// 構(gòu)建LocalDateTime對象ldt
System.out.println(ldt2);
// 獲取明年此時的時間
LocalDateTime ldt3 = ldt.plusYears(1);
System.out.println(ldt3);
// 獲取去年此刻時間
LocalDateTime ldt4 = ldt.minusYears(1);
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());
// 獲取秒
System.out.println(ldt.getSecond());
// 獲取納秒
System.out.println(ldt.getNano());
2、時間戳
時間戳:以Unix元年:1970年1月1日 00:00:00 至目前時間之間的毫秒值 

public static void testInstant(){
    // 時間戳 Instant
    Instant ins1 = Instant.now();
    // 默認(rèn)獲取UTC時間,協(xié)調(diào)世界時
    System.out.println(ins1);
    OffsetDateTime odt = ins1.atOffset(ZoneOffset.ofHours(8));
    System.out.println(odt);
    System.out.println(ins1.toEpochMilli());
    Instant ins2 = Instant.ofEpochSecond(60);
    System.out.println(ins2);
}
3、日期時間間隔計(jì)算:Duration、Period
public static void testDuration(String[] args) {
        Instant ins1 = Instant.now();
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        Instant ins2 = Instant.now();
        Duration dura = Duration.between(ins1, ins2);
        System.out.println(dura.toMillis());
        System.out.println("----------------------");
        LocalTime lt1 = LocalTime.now();
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        LocalTime lt2 = LocalTime.now();
        Duration dura2 = Duration.between(lt1, lt2);
        System.out.println(dura2.toMillis());
    }

    public  static void testPeriod(){
        LocalDate ld1 = LocalDate.of(2015, 2, 2);
        LocalDate ld2 = LocalDate.now();
        Period period = Period.between(ld1, ld2);
        System.out.println(period);
        System.out.println("相差" + period.getYears() + "年"
                + period.getMonths() + "月"
                + period.getDays() + "天");

    }
4、時間校正:TemporalAdjuster
public  static  void testTemporalAdjuster(){
    LocalDateTime ldt = LocalDateTime.now();
    System.out.println(ldt);
    LocalDateTime ldt2 = ldt.withDayOfMonth(10);
    System.out.println(ldt2);
    LocalDateTime ldt3 = ldt.with(TemporalAdjusters.next(DayOfWeek.SATURDAY));
    System.out.println(ldt3);
}
5、日期時間格式化
public  static  void testDateFormate(){
        DateTimeFormatter dtf = DateTimeFormatter.ISO_DATE;
        LocalDateTime ldt = LocalDateTime.now();
        String strDate = ldt.format(dtf);
        System.out.println(strDate);
        System.out.println("----------------------------");
        DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        String strDate2 = dtf2.format(ldt);
        System.out.println(strDate2);
        System.out.println("-----------------------------");
        LocalDateTime newDate = ldt.parse(strDate2, dtf2);
        System.out.println(newDate);
    }
6、TimeZone 時區(qū)處理
    // 時區(qū)的處理
    public  static  void testTimeZone(){
        LocalDateTime ldt = LocalDateTime.now(ZoneId.of("Europe/Dublin"));
        System.out.println(ldt);
        LocalDateTime ldt2 = LocalDateTime.now(ZoneId.of("Europe/Dublin"));
        ZonedDateTime zdt = ldt2.atZone(ZoneId.of("Europe/Dublin"));
        System.out.println(zdt);
    }

這次就分享到這里了,后面小樂會繼續(xù)給大家介紹Java8新特性的,請大家繼續(xù)多多關(guān)注哦!樂字節(jié)只講Java技術(shù)干貨。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77601.html

相關(guān)文章

  • 字節(jié)-Java8特性Base64和重復(fù)注解與類型注解

    摘要:上一篇小樂給大家說了樂字節(jié)新特性之,接下來小樂繼續(xù)給大家說一說新特性之和重復(fù)注解與類型注解。內(nèi)部類與方法相關(guān)的內(nèi)部類這是一個靜態(tài)類。也是一個靜態(tài)類。 上一篇小樂給大家說了《樂字節(jié)-Java8新特性之Date API》,接下來小樂繼續(xù)給大家說一說Java8新特性之Base64和重復(fù)注解與類型注解。 一、Base64 在Java 8中,內(nèi)置了Base64編解碼相關(guān)的特性。Java 8中使用...

    1treeS 評論0 收藏0
  • 字節(jié)-Java8特性方法引用

    摘要:上一篇小樂介紹了新特性函數(shù)式接口,大家可以點(diǎn)擊回顧。中引入方法引用新特性用于簡化應(yīng)用對象方法的調(diào)用,方法引用是用來直接訪問類或者實(shí)例的已經(jīng)存在的方法或者構(gòu)造方法。方法引用是一種更簡潔易懂的表達(dá)式。 上一篇小樂介紹了《Java8新特性-函數(shù)式接口》,大家可以點(diǎn)擊回顧。這篇文章將接著介紹Java8新特性之方法引用。 Java8 中引入方法引用新特性,用于簡化應(yīng)用對象方法的調(diào)用,?方法引用是...

    Codeing_ls 評論0 收藏0
  • 字節(jié)-Java8特性-接口默認(rèn)方法

    摘要:注意當(dāng)多個父接口中存在相同的默認(rèn)方法時,子類中以就近原則繼承。定義靜態(tài)默認(rèn)方法這是版簡易計(jì)算器接口默認(rèn)方法使用定義接口并提供默認(rèn)打印方法定義接口默認(rèn)方法支持方法形參這是數(shù)值運(yùn)算基本接口。。。 總概 JAVA8 已經(jīng)發(fā)布很久,而且毫無疑問,java8是自java5(2004年發(fā)布)之后的最重要的版本。其中包括語言、編譯器、庫、工具和JVM等諸多方面的新特性。 Java8 新特性列表如下:...

    arashicage 評論0 收藏0
  • 字節(jié)-Java8特性Stream流(下)

    摘要:歸約操作計(jì)算有效訂單總金額有效訂單總金額收集數(shù)據(jù)收集將流轉(zhuǎn)換為其他形式,方法作為終端操作,接收一個接口的實(shí)現(xiàn),用于給中元素做匯總的方法。 接上一篇:《Java8新特性之stream》,下面繼續(xù)接著講Stream 5、流的中間操作 常見的流的中間操作,歸為以下三大類:篩選和切片流操作、元素映射操作、元素排序操作:showImg(https://segmentfault.com/img/b...

    20171112 評論0 收藏0
  • 字節(jié)-Java8核心特性實(shí)戰(zhàn)Stream(流)

    摘要:大家好,我是樂字節(jié)的小樂。需要注意的是很多流操作本身就會返回一個流,所以多個操作可以直接連接起來,如下圖這樣,操作可以進(jìn)行鏈?zhǔn)秸{(diào)用,并且并行流還可以實(shí)現(xiàn)數(shù)據(jù)流并行處理操作。為集合創(chuàng)建并行流。 大家好,我是樂字節(jié)的小樂。說起流,我們會聯(lián)想到手機(jī)、電腦組裝流水線,物流倉庫商品包裝流水線等等,如果把手機(jī) ,電腦,包裹看做最終結(jié)果的話,那么加工商品前的各種零部件就可以看做數(shù)據(jù)源,而中間一系列的...

    wenshi11019 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<