版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
新一代信息技術(shù)"十三五"系列規(guī)劃Java程序設(shè)計(jì)基礎(chǔ)教程第八章日期與時(shí)間無(wú)論是在日常生活還是在商業(yè)軟件開發(fā)過(guò)程,日期與時(shí)間都有著十分重要地意義。準(zhǔn)確地獲取當(dāng)前時(shí)間,計(jì)算未來(lái)時(shí)間,行定制化地日期輸出并對(duì)文本內(nèi)地日期格式行解析與處理都是開發(fā)者需要掌握地基本內(nèi)容。八.一Date類出生日期,畢業(yè)年月,商品到期日與貸款到期日都是非常重要地概念,這些與日期有關(guān)地解析與處理都被封裝在了Java地Date類,該類位于java.util包,處理與日期有關(guān)地大部分操作。八.一.一計(jì)算機(jī)地時(shí)間一九七零年一月一日是UNIX與C語(yǔ)言地生日,湯普遜使用B語(yǔ)言在PDP-七機(jī)器上開發(fā)出了UNIX地一個(gè)新版本,隨后又與同事丹尼斯里奇改了B語(yǔ)言,開發(fā)出了C語(yǔ)言并重寫了UNIX,并將其在一九七一年發(fā)布。在當(dāng)時(shí),計(jì)算機(jī)系統(tǒng)是三二位地系統(tǒng),時(shí)間使用三二位有符號(hào)數(shù)表示,可以表示六八年,用三二位無(wú)符號(hào)數(shù)表示,可以表示一三六年,它們認(rèn)為可以以一九七零年為時(shí)間原點(diǎn),并在C語(yǔ)言地time函數(shù)也這么應(yīng)用了,故此,計(jì)算機(jī)地元年便使用一九七零年一月一日零時(shí)零分零秒作為開端。隨后地語(yǔ)言也沿用了這種設(shè)定。案例八-一當(dāng)前時(shí)間與計(jì)算機(jī)元年運(yùn)行結(jié)果如圖八-一所示。圖八-一運(yùn)行結(jié)果從運(yùn)行結(jié)果不難發(fā)現(xiàn),Java日期時(shí)間地原點(diǎn)是一九七零年一月一日(細(xì)心地讀者可能會(huì)問(wèn)為何不是零點(diǎn),這是因?yàn)榈乇本┦窃跂|八區(qū),所以使用北京時(shí)間會(huì)默認(rèn)是八點(diǎn)),Java獲取系統(tǒng)當(dāng)前毫秒值地方法是一個(gè)Native方法,說(shuō)明該方法是調(diào)用地C語(yǔ)言實(shí)現(xiàn)地。八.一.二Date類地應(yīng)用Date類是Java程序開發(fā)最常用地類之一,在早期地版本,該類包含了很多輔助方法,這些方法在后來(lái)地版本被廢棄不再建議開發(fā)者使用,在八.一.一節(jié)地toLocaleString()就是這樣地方法,這些方法地一部分被日期工具類代替。Date類地?zé)o參構(gòu)造方法是將當(dāng)前系統(tǒng)毫秒值傳入行初始化地,Date類還有一個(gè)根據(jù)傳入地毫秒值獲取日期對(duì)象地構(gòu)造函數(shù),無(wú)參構(gòu)造方法就是將系統(tǒng)當(dāng)前毫秒值作為毫秒值傳入該構(gòu)造函數(shù)實(shí)現(xiàn)地,所以在案例八-一最后地毫秒差值是零。另外,當(dāng)傳入一個(gè)零作為參數(shù)地時(shí)候,返回地是計(jì)算機(jī)原點(diǎn)時(shí)間。SimpleDateFormat是時(shí)間地格式化類,該類包含了日期格式化輸出與字符串與日期轉(zhuǎn)換地方法等。案例八-二Date類地使用運(yùn)行結(jié)果如圖八-二所示。圖八-二運(yùn)行結(jié)果Date類定義了一些簡(jiǎn)單地初始化構(gòu)造方法,SimpleDateFormat也定義了一些簡(jiǎn)單地格式化方法,但是日期地使用不僅在于此,當(dāng)我們要計(jì)算當(dāng)前時(shí)間后地第一個(gè)星期三地時(shí)間地時(shí)候,這些類就力不從心了。為了幫助開發(fā)者,Java提供了一個(gè)功能強(qiáng)大地類——Calendar類,專門用于對(duì)日期地計(jì)算與獲取。八.二Calendar類在日常生活們常說(shuō),今天是幾月幾日,下個(gè)星期五是幾月幾日。這些功能在程序?qū)崿F(xiàn)起來(lái)有些困難,為了方便開發(fā)者開發(fā),Java提供了Calendar類來(lái)實(shí)現(xiàn)這種特定日期計(jì)算地類。八.二.一什么是日歷類型日歷,顧名思義就是我們常說(shuō)地萬(wàn)年歷等,通過(guò)日歷們可以快速地對(duì)日期行檢索,例如,陰歷,陽(yáng)歷對(duì)應(yīng)日期地檢索與各種節(jié)日地檢索。Calendar類型是對(duì)日期地計(jì)算操作,其本身可以由Date類型來(lái)設(shè)置需要行計(jì)算地原點(diǎn)時(shí)間,同時(shí)也能快速地轉(zhuǎn)換成Date類型地對(duì)象并輸出。因?yàn)榫幊陶Z(yǔ)言大多以零為初始值,所以Calendar類地一月份地?cái)?shù)字值實(shí)際上是零。由于西方家認(rèn)為星期日是一個(gè)星期地開始,所以,SUNDAY對(duì)應(yīng)地?cái)?shù)字是一,而MONDAY對(duì)應(yīng)地?cái)?shù)字是二,其它以此類推。八.二.二日歷類型地計(jì)算Calendar能夠快速行時(shí)間地計(jì)算,無(wú)論是基于當(dāng)前日期地某個(gè)天數(shù)之前或者之后,或者是某個(gè)月地第幾個(gè)星期幾。案例八-三日期地計(jì)算運(yùn)行結(jié)果如圖八-三所示。圖八-三運(yùn)行結(jié)果Calendar類,add()方法由于在制定地域(年,月,日)增加日期,這個(gè)日期可以是負(fù)數(shù),負(fù)數(shù)表示該日期之前,正數(shù)表示該日期之后。set()方法用于設(shè)置指定域地值,get()方法用于獲取指定域地值,getActualMaximum()方法用于獲取當(dāng)前時(shí)間對(duì)應(yīng)地域地最大值,與方法getActualMinimum()對(duì)應(yīng)。GregorianCalendar是一個(gè)公歷地實(shí)現(xiàn)類,派生自Calendar類,Calendar地getInstance()返回地實(shí)際上就是GregorianCalendar地對(duì)象,該類比Calendar類多了兩個(gè)屬:AD與BC,分別表示公元后與公元前,它還有一個(gè)很有用地方法——isLeapYear()方法,該方法用于判斷傳入地年份是否為閏年。案例八-四萬(wàn)年歷運(yùn)行結(jié)果如圖八-四所示。
Calendar類還有一些是與時(shí)區(qū)與本地化有關(guān)地方法,對(duì)這些方法感興趣地讀者可以參考Java官方地API。圖八-四運(yùn)行結(jié)果八.三動(dòng)手任務(wù):超市過(guò)期提醒及促銷活動(dòng)任務(wù)介紹一.任務(wù)描述編寫一個(gè)產(chǎn)品過(guò)期提醒地程序,能夠自動(dòng)根據(jù)促銷要求在適當(dāng)?shù)貢r(shí)候行促銷活動(dòng),并在產(chǎn)品過(guò)期前一零天提醒產(chǎn)品即將過(guò)期。產(chǎn)品地過(guò)期時(shí)間由產(chǎn)品地生產(chǎn)日期及保質(zhì)期來(lái)確定。程序需要正確地計(jì)算產(chǎn)品地到期日期,并且根據(jù)到期日期來(lái)執(zhí)行促銷活動(dòng)與過(guò)期提醒。二.運(yùn)行結(jié)果任務(wù)運(yùn)行結(jié)果如圖八-五~圖八-八所示。圖八-五運(yùn)行結(jié)果圖八-六運(yùn)行結(jié)果圖八-七運(yùn)行結(jié)果圖八-八運(yùn)行結(jié)果任務(wù)目地學(xué)會(huì)將字符串地日期格式轉(zhuǎn)換成Date類型,再變成Calendar類型并最終返回字符串類型。熟練使用Calendar類型行日期地加減與設(shè)置。實(shí)現(xiàn)思路(一)程序開發(fā)過(guò)程,日期一般使用格式化地字符串行保存,因此,首先要知道如何將字符串類型地?cái)?shù)據(jù)最終轉(zhuǎn)換成Calendar類型,并在計(jì)算結(jié)束后返回字符串類型地日期。(二)一般是在產(chǎn)品過(guò)期前地某個(gè)星期幾或過(guò)期前地固定天數(shù)來(lái)執(zhí)行促銷地。所以還需要知道如何獲取某個(gè)固定天數(shù)前地第幾個(gè)星期幾。八.四本章小結(jié)本章著重講解了日期類Date與日歷類Calendar。日期類Date一般作為字符串類型地日期與日歷類Calendar地間對(duì)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝修糾紛裝飾補(bǔ)充協(xié)議范本
- 技術(shù)合作合同書
- 高中數(shù)學(xué) 8.2.3 二項(xiàng)分布(2)教學(xué)設(shè)計(jì) 蘇教版選擇性必修第二冊(cè)
- 2024年高中地理 第4章 文明旅游 4.4 旅游安全教案 湘教版選修3
- 2024年八年級(jí)生物下冊(cè) 6.1.2生物對(duì)環(huán)境的適應(yīng)和影響教學(xué)設(shè)計(jì) (新版)濟(jì)南版
- 2023七年級(jí)數(shù)學(xué)上冊(cè) 第4章 圖形的初步認(rèn)識(shí)4.1 生活中的立體圖形教案 (新版)華東師大版
- 2024-2025版高中物理 第四章 電磁感應(yīng) 5 電磁感應(yīng)現(xiàn)象的兩類情況教案 新人教版選修3-2
- 總部園區(qū)基地物業(yè)管理合同(2篇)
- 銀行防控風(fēng)險(xiǎn)合同(2篇)
- 湘教版福建省福州市八縣(市、區(qū))一中2023-2024學(xué)年高一上學(xué)期11月期中聯(lián)考數(shù)學(xué)試題
- 內(nèi)部控制評(píng)價(jià)工作方案
- 發(fā)運(yùn)部主任崗位職責(zé)
- 讀書分享會(huì)評(píng)分表(精編版)
- 管道專業(yè)術(shù)語(yǔ)常用英語(yǔ)單詞
- 電流源型LCL諧振式變換器的研究
- 第九講常微分方程模型2
- 市政道路工程排水施工圖設(shè)計(jì)說(shuō)明
- 服裝洗水嘜洗滌標(biāo)志
- 愛心助學(xué)協(xié)會(huì)章程
- 中學(xué)德育工作會(huì)議記錄
- 縣教體系統(tǒng)2021年教職工體檢方案
評(píng)論
0/150
提交評(píng)論