做啤酒行業(yè)的網(wǎng)站公司網(wǎng)站建設(shè)流程
JDK7時間類
全世界的時間有一個統(tǒng)一的計算標(biāo)準(zhǔn)
在同一條經(jīng)線上的時間是一樣的
格林威治時間 簡稱GMT
計算核心 地球自轉(zhuǎn)一天是24小時 太陽直射正好是12小時
但是誤差太大
現(xiàn)在用原子鐘來代替
用銫原子震動的頻率來計算時間,作為世界的標(biāo)準(zhǔn)時間UTC
中國標(biāo)準(zhǔn)時間等于世界標(biāo)準(zhǔn)時間加8小時
Date類
是JDK寫好的一個javabean類,用來描述時間,精確到毫秒
利用空參構(gòu)造創(chuàng)建的對象,默認(rèn)表示系統(tǒng)當(dāng)前的時間
利用有參構(gòu)造創(chuàng)建的對象,表示指定的時間
創(chuàng)建對象表示一個時間
成員變量 fasttime 表示時間的毫秒值
空參方法 調(diào)用system類下的方法。
有參構(gòu)造 把實參賦值給成員變量。
指的是從時間原點開始過了0毫秒后的時間
gettime方法可以獲得當(dāng)前時間的毫秒值
示例
打印時間原點 開始一年后 之后的時間
定義任意兩個Date對象,比較哪個時間在前,哪個時間在后
對象不可直接比較 運算
要用方法把某些屬性獲取出來
總結(jié)
如何創(chuàng)建日期對象
空參構(gòu)造
帶參構(gòu)造
如何修改時間對象里的毫秒值
如何獲取時間對象里的毫秒值
SimpleDateFormat類
Date類只能是默認(rèn)方式打印
這 不符合我們的閱讀習(xí)慣
SimpleDateFormat
可以
把時間變?yōu)樽约合矚g的格式
也可以解析時間
格式
利用空參構(gòu)造創(chuàng)建對象
使用的是默認(rèn)格式
利用帶參構(gòu)造創(chuàng)建對象
可以指定格式
ctrl alt v 可以自動生成左邊 創(chuàng)建對象
ctrl alt m 可以抽取生成方法
創(chuàng)建對象的格式要和創(chuàng)建字符串的格式一樣
然后解析
返回一個Date對象
練習(xí)1
輸入字符串
用字符串接收
創(chuàng)建一個date對象表示
創(chuàng)建一個simpledateformat對象,并定義格式為年月日
轉(zhuǎn)換時間
練習(xí)2
先解析時間得到毫秒值
得到date對象
再得到毫秒值
再進(jìn)行判斷
總結(jié)
SimpleDateFormat的兩個作用
格式化
解析
如何指定格式
yyyy年MM月dd日:mm:ss
去Apl幫助文檔中去找就ok了
Calendar類
為什么學(xué)習(xí)這個類呢
以前的方法
現(xiàn)在簡化代碼
只修改月份
日歷 修改 再原來的基礎(chǔ)上加1
所以Calendar類
代表了 系統(tǒng)當(dāng)前時間的日歷對象,可以單獨修改
但是個抽象類
不能直接創(chuàng)建對象
而是通過靜態(tài)方法來獲取到子類對象
常用方法
示例
Date(0L)表示計算機的時間原點
月份0-11
如果獲取出來的是0,就是1月
如果是11,就是12月
星期
在老外眼里,周日是一周中的第一天
1就是周日
Java為了防止我們忘記數(shù)組的索引
把索引都定義為常量
我們可以查看源碼 來尋找
所以我們可以
我們可以利用查表法
將數(shù)據(jù)和索引產(chǎn)生對應(yīng)的關(guān)系
這樣就可以返回
修改年份 月份
用set方法
增加一個月,一年
總結(jié)
JDK8時間類
JDK7時間類
為什么要學(xué)習(xí)JDK8的時間類
因為簡單而且方便
JDK7代碼麻煩
要用日期對象計算比較毫秒值
JDK8代碼簡單
判斷的方法
計算時間間隔的方法
安全層面
JDK7多線程環(huán)境下會導(dǎo)致數(shù)據(jù)安全問題
JDK8時間日期對象都是不可變的,解決了這個問題
分成四組
ZoneId類
獲得時區(qū)名稱 返回方式是集合
獲取當(dāng)前系統(tǒng)的默認(rèn)時區(qū)
可以在系統(tǒng)設(shè)置里面更改日期和時間
改變時區(qū)
獲得一個指定的時區(qū)
總結(jié)
Instant類
時間戳
方法大全
ctrl + alt + v 可以自動生成左邊
獲得當(dāng)前的標(biāo)準(zhǔn)時間
根據(jù) 秒 毫秒 納秒 獲得Instant對象
獲得了計算機原點的時間
秒鐘
獲得秒數(shù)
納秒
獲得納秒
時間原點后過了多少納秒
指定時區(qū)
判斷系列的方法
返回值是布爾類型
減少時間系列的方法
以當(dāng)前時間為基準(zhǔn),往前去減少時間
原有的時間對象是不會變的
會返回一個新的時間對象
增加時間系列的方法
同減少時間系列的方法
ZoneDateTime類
帶有時區(qū)的時間
靜態(tài)方法獲取對象
減少時間增加時間
可以增加時間 年 月 日
細(xì)節(jié)
JDK8的時間對象都是不可變的
我們修改了 只能產(chǎn)生新的時間對象
DateTimeFormatter類
用于時間的格式化和解析
獲取時間對象
解析/格式化器
格式化
格式化時間的意思是 把時間轉(zhuǎn)化成我們?nèi)粘?梢姷母袷?/p>
轉(zhuǎn)化成我們需要的格式
Calendar類
Localdate獲得年月日
轉(zhuǎn)換
調(diào)用方法
獲得的月份英文大寫
獲得的月份數(shù)字
獲得日期
獲取一年中的第幾天
獲取星期
get開頭 獲取
看見要知道意思
案例
假設(shè)為聯(lián)通移動發(fā)送生日祝福短信
Localtime獲得時分秒
LocalDateTime 年月日時分秒
Duration類
用于計算時間間隔 秒 納秒
Period類
用于計算日期間隔 年月日
ChronnUnit類
用于計算日期間隔
所有的數(shù)據(jù)全出來