小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【Java】基礎22:和日期相關的類

 劉小愛v 2020-05-06

計算機是有系統(tǒng)時間的,那這個時間是如何來的呢?或者說如何獲取和修改時間?

這個問題在Java里面,就牽扯到了三個類:

一、Date類

Data:翻譯成中文是“日期”的意思。

在Java里面Data類表示特定的瞬間,精確到毫秒。

①創(chuàng)建data對象,不初始化即表示為當前系統(tǒng)時間。

②直接打印就是當前的系統(tǒng)時間。

③getTime()得到的是當前時間的毫秒值(注意是毫秒值,1000毫秒等于1秒)。

現(xiàn)在時間換算成毫秒值就是:1588635898344,也就是說從計算機時間原點到現(xiàn)在一共過了1588635898344毫秒。

④setTime()設定距離時間原點為1000毫秒的時間。

⑤初始化為0毫秒即表示是時間原點。

在Java里面,時間原點是1970年1月1日0點。

那為何控制臺顯示的是8點呢?

CST:China Standard Time,翻譯成中文就是:中國標準時間。中國是在東八區(qū),時間原點是在零度經(jīng)線(倫敦),也就是說倫敦0點時,中國8點。

Tue May 05 07:44:58 CST 2020這樣的時間格式,你能看懂,但是在中國本土,沒接觸過多少英文的人是看不懂的,或者說看著也非常不習慣。

2020年5月5日7時44分58秒,這才是中國人習慣的時間格式。那么現(xiàn)在問題來了,如何將時間變成中國人都能看懂的時間格式?

二、DateFormat類

Date:日期;Format:格式化。很明顯,Dateformat類就是將日期格式化的類。

DateFormat是一個抽象類,沒法對象實例化,所以需要使用到它的子類SimpleDateFormat。不要看類名這么長,分開記還是蠻簡單的:Simple、Date、Format,就是三個非?;A的英文單詞。

1.format方法

①獲取當前的系統(tǒng)時間。

②創(chuàng)建日期格式化對象,設定想要的日期格式:

"yyyy年MM月dd日 HH時mm分ss秒"

  • y:小寫y,year的簡寫,表示年。

  • M:大寫M,Month的簡寫,表示月。

  • d:小寫d,day的簡寫,表示天。

  • H:大寫H,hour的簡寫,表示小時。

  • m:小寫m,minute的簡寫,表示分鐘。

  • s:小寫s,second的簡寫,表示秒。

③用SimpleDateFormat的format方法,按照自己設定的格式將系統(tǒng)時間格式化,得到的返回值是字符串。

④打印格式化后的時間也就是一個字符串:2020年05月05日 08時27分31秒。

2.parse方法

parse:解析。什么意思呢?就是說這個方法能將一個字符串解析成對應的日期。

比如說:我們輸入了一字符串:“2020-05-05”,我們自然是能看懂2020年5月5日,但是計算機需要將其轉(zhuǎn)化成日期對象,parse方法的作用就是在此。

①日期文本:"2020-05-05"。

②創(chuàng)建日期格式化對象,設定日期格式:格式要和字符串一一對應。

③使用parse方法,將字符串轉(zhuǎn)化成日期對象。

小結:

  • 使用SimpleDateFormat類可以格式化日期。

  • 使用模式字母可以設定日期格式。

  • format方法:將日期對象轉(zhuǎn)化成字符串。

  • parse方法:將字符串轉(zhuǎn)化成日期對象。

三、Calendar類

Calendar:日歷的意思。很顯然這也是一個日期相關的類。

Calendar和DateFormat一樣,也是一個抽象類,沒法創(chuàng)建對象實例化,我們需要使用到它的子類。

它有一個子類叫GregorianCalendar,這個英文字符不要一看覺得很復雜,用詞典查詢下會發(fā)現(xiàn)它的意思就是公歷。

在中國有農(nóng)歷和公歷之分(有的地方又叫陰歷和陽歷),我們常說的十月一號國慶節(jié),五月一號勞動節(jié),一月一號元旦節(jié),它們就是公歷。

1.get方法

①getInstance():根據(jù)系統(tǒng)信息(時區(qū)、語言)獲取相應的日歷。比如中國的系統(tǒng):就是公歷;日本的系統(tǒng):就是日本的日歷。getInstance是靜態(tài)方法,可以直接用類名調(diào)用。

②get(Calendar.YEAR):獲取日期中的年份。

③get(Calendar.MONTH):獲取日期中的月份(注意:美國那邊的月份是從0到11月的,所以我們要加上1).

④get(Calendar.DAY_OF_MONTH):獲取日期中的日。

⑤字符串拼接打印。

其中還有一個字段:DAY_OF_WEEK。也就是常說的星期幾,但是要注意,美國那邊一個星期的第一天是星期日。

也就是說星期日時:DAY_OF_WEEK=1;星期一時:DAY_OF_WEEK=2。

2.set方法和getTime方法

有get方法,自然也會有set方法,現(xiàn)在設定時間為2020年1月1日,代碼如下:

設定年份為2020。

②設定月份是1,注意美國的一月份是0。

③設定日為1日。

④其中Calendar有一個方法getTime方法能將日歷對象,轉(zhuǎn)化成Date對象。

附:Date類的getTime方法得到的是當前時間的毫秒值,兩者不要弄混了。

3.add方法

add方法有兩個參數(shù):前面的是字段,后面的是數(shù)值。

也就是說,將后面的數(shù)值加到前面對應的字段上面。

總結:


    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多