除了String這個類在日常的項目中比較常用之外,有關(guān)時間和日期的操作也是經(jīng)常遇到的,本篇就講詳細介紹下Java API中對時間和日期的支持。其實在Java 8之前時間日期的API并不是很好用,以至于人們在項目中大多使用的是一個第三方庫 Joda-Time,當然Java 8 吸收了該庫的大部分優(yōu)點,改進了相關(guān)API,現(xiàn)在的時間日期處理接口相對以前來說是好用很多,本篇也將學習下這個優(yōu)秀的第三方庫。下面是本篇主要涉及內(nèi)容:
古老的Date類
處理年月日的年歷類Calendar
格式化字符串和日期對象的DateFormat格式轉(zhuǎn)換類
好用的SimpleDateFormat實現(xiàn)類
Joda-Time庫
一、古老的Date類
Date這個類自jdk1.0開始就被設計出來, 從它的源代碼中我們也是可以看出來,Date類曾經(jīng)扮演過很重要的角色,jdk早期的版本中有關(guān)日期和時間的操作幾乎都是由Date類完成的,下面我們一起看看它的源碼:
private transient long fastTime;
首先Date中有封裝一個long類型的變量,這個變量是整個時間日期操作的對象,也就是我們使用該變量代表時間和日期。下面說明它是如何表示時間和日期的。所有計算機中的時間都是用一個整數(shù)表示的,該整數(shù)的值代表的是距離格林尼治標準時間(1970年1月1日0時0分0秒)的毫秒數(shù),也就是說fastTime值為1000的時候代表時間為1970年1月1日0時0分1秒。至于為什么是這個時間,由于種種歷史原因大家也可以去了解下,此處不再贅述。
由于該類中大部分方法都被注解了@Deprecated,已經(jīng)不再推薦使用了,所以接下來我們主要還是看看其中還保留著的方法。只剩下兩個構(gòu)造方法:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26