您好,登錄后才能下訂單哦!
本篇文章為大家展示了 Calendar日歷類如何在Java項(xiàng)目中使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
java.util.Calendar 是日歷類,在Date后出現(xiàn),替換掉了許多Date的方法。該類將所有可能用到的時(shí)間信息封裝為靜態(tài)成員變量,方便獲取。日歷類就是方便獲取各個(gè)時(shí)間屬性的。Calendar類無(wú)法直接創(chuàng)建對(duì)象使用,里邊有一個(gè)靜態(tài)方法getInstance(),該方法返回了Calendar類的子類對(duì)象。Calendar類中提供很多成員常量,代表給定的日歷字段:具體如下圖
1
獲取方式
Calendar為抽象類,由于語(yǔ)言敏感性,Calendar類在創(chuàng)建對(duì)象時(shí)并非直接創(chuàng)建,而是通過(guò)靜態(tài)方法創(chuàng)建,返回子類對(duì)象,如下:
Calendar靜態(tài)方法
public static Calendar getInstance() :使用默認(rèn)時(shí)區(qū)和語(yǔ)言環(huán)境獲得一個(gè)日歷
//獲取Calendar類的子類對(duì)象 Calendar cal = Calendar.getInstance();
常用方法
根據(jù)Calendar類的API文檔,常用方法有:
public int get(int field) :返回給定日歷字段的值。
package demo04; import java.util.Calendar; public class Demo01 { public static void main(String[] args) { //通過(guò)靜態(tài)方法創(chuàng)建,返回Calendar子類對(duì)象 Calendar instance = Calendar.getInstance(); /* public int get(int field):返回給定日歷字段的值。 參數(shù):傳遞指定的日歷字段(YEAR,MONTH...) 返回值:日歷字段代表的具體的值 */ System.out.print("現(xiàn)在是"+instance.get(Calendar.YEAR)+"年"); //在Calendar類中,月份的表示是以0-11代表1-12月。 System.out.print(instance.get(Calendar.MONTH)+"月"); System.out.println(instance.get(Calendar.DAY_OF_MONTH)+"日"); } }
代碼執(zhí)行后的結(jié)果
2
public void set(int field, int value) :將給定的日歷字段設(shè)置為給定值。
package demo04; import java.util.Calendar; public class Demo02 { /* public void set(int field, int value):將給定的日歷字段設(shè)置為給定值。 參數(shù): int field:傳遞指定的日歷字段(YEAR,MONTH...) int value:給指定字段設(shè)置的值 */ public static void main(String[] args) { //使用getInstance方法獲取Calendar對(duì)象 Calendar c = Calendar.getInstance(); //設(shè)置年為9999 c.set(Calendar.YEAR, 9999); //設(shè)置月為9月 c.set(Calendar.MONTH, 9); //設(shè)置日9日 c.set(Calendar.DATE, 9); //獲取設(shè)置后的日期 System.out.println("現(xiàn)在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日"); //同時(shí)設(shè)置年月日,可以使用set的重載方法 c.set(8888, 8, 8); System.out.println("現(xiàn)在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日"); } }
代碼執(zhí)行后的結(jié)果
3
public abstract void add(int field, int amount) :根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時(shí)間量。
package demo04; import java.util.Calendar; public class Demo03 { /* public abstract void add(int field, int amount):根據(jù)日歷的規(guī)則,為給定的日歷字段添加或減去指定的時(shí)間量。 把指定的字段增加/減少指定的值 參數(shù): int field:傳遞指定的日歷字段(YEAR,MONTH...) int amount:增加/減少指定的值 正數(shù):增加 負(fù)數(shù):減少 */ public static void main(String[] args) { //使用getInstance方法獲取Calendar對(duì)象 Calendar c = Calendar.getInstance(); //獲取當(dāng)前的日期 System.out.println("現(xiàn)在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日"); //把年增加2年 c.add(Calendar.YEAR, 2); //把月份減少3個(gè)月 c.add(Calendar.MONTH, -3); //獲取設(shè)置后的日期 System.out.println("現(xiàn)在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日"); } }
代碼執(zhí)行后的結(jié)果
4
public Date getTime() :返回一個(gè)表示此Calendar時(shí)間值(從歷元到現(xiàn)在的毫秒偏移量)的Date對(duì)象。
package demo04; import java.util.Calendar; import java.util.Date; public class Demo04 { /* public Date getTime():返回一個(gè)表示此Calendar時(shí)間值(從歷元到現(xiàn)在的毫秒偏移量)的Date對(duì)象。 把日歷對(duì)象,轉(zhuǎn)換為日期對(duì)象 */ public static void main(String[] args) { //使用getInstance方法獲取Calendar對(duì)象 Calendar c = Calendar.getInstance(); //日歷對(duì)象--->日期對(duì)象 Date date = c.getTime(); System.out.println(date); } }
代碼執(zhí)行后的結(jié)果
5
注意事項(xiàng)
西方星期的開(kāi)始為周日,中國(guó)為周一。
在Calendar類中,月份的表示是以0-11代表1-2月。
日期是有大小關(guān)系的,時(shí)間靠后,時(shí)間越大。
上述內(nèi)容就是 Calendar日歷類如何在Java項(xiàng)目中使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。