Date() 分配一個(gè) Date 對(duì)象,以表示分配它的時(shí)間(精確到毫秒) Date(long date) 分配一個(gè) Date 對(duì)象,表示自從標(biāo)準(zhǔn)基準(zhǔn)時(shí)間起指定時(shí)間的毫秒數(shù) 標(biāo)準(zhǔn)基準(zhǔn)時(shí)間:稱為“歷元(epoch)”,即 1970 年 1 月 1 日 00:00:00
1.2 Date的構(gòu)造函數(shù)練習(xí)
創(chuàng)建包:cn.cxy.date 創(chuàng)建類:TestDate1
packagecn.cxy.date;importjava.util.Date;/*本類用于Date的入門*/publicclassTestDate1{publicstaticvoidmain(String[] args){//1.利用無參構(gòu)造創(chuàng)建Date類對(duì)象,注意導(dǎo)包:import java.util.Date;Date d1=newDate();System.out.println(d1);//Thu Sep 23 23:14:59 CST 2021//2.利用含參構(gòu)造創(chuàng)建Date對(duì)象long t =1000*60*60;//1000ms*60*60->1min*60->1hDate d2 =newDate(t);//從標(biāo)準(zhǔn)基礎(chǔ)時(shí)間1970-1-1-00:00開始往后數(shù)1hSystem.out.println(d2);//Thu Jan 01 09:00:00 CST 1970//CST是中國時(shí)區(qū),所以額外加了8h變成了09:00:00}}
常用時(shí)間縮寫 GMT 格林尼治時(shí)間 = UTC 協(xié)調(diào)世界時(shí)間 UTC + 時(shí)區(qū)差 = 本地時(shí)間,我們是在東八區(qū),東加西減,所以 CST 中國標(biāo)準(zhǔn)時(shí)間:China Standard Time UT+8:00
packagecn.cxy.date3;importorg.junit.Test;importjava.util.Calendar;/*本類用于練習(xí)日歷類*/publicclassTestCalendar{@TestpublicvoidTestGet(){//1.獲取日歷對(duì)象Calendar c =Calendar.getInstance();System.out.println(c);//能獲取很多信息,比如MONTH=8,我們現(xiàn)在是9月,說明月份是從0開始的//2.通過獲取到的日歷對(duì)象,調(diào)用get(),傳入對(duì)應(yīng)的日歷字段,就可以拿到對(duì)應(yīng)的值int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int day = c.get(Calendar.DAY_OF_MONTH);System.out.println(year +"年"+ month +"月"+ day +"日");//2021年9月24日}@TestpublicvoidTestAdd1(){//1.獲取日歷對(duì)象Calendar c =Calendar.getInstance();//2.給指定的日歷字段進(jìn)行指定數(shù)目的加減操作,得到10年后的今天c.add(Calendar.YEAR,+10);//3.通過獲取到的日歷對(duì)象,調(diào)用get(),傳入對(duì)應(yīng)的日歷字段,就可以拿到對(duì)應(yīng)的值int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int day = c.get(Calendar.DAY_OF_MONTH);//4.打印的就是10年后的今天:2031年9月24日System.out.println(year +"年"+ month +"月"+ day +"日");}@TestpublicvoidTestAdd2(){//需求:打印1年后的7天后//1.獲取日歷對(duì)象Calendar c =Calendar.getInstance();//2.給指定的日歷字段進(jìn)行指定數(shù)目的加減操作,得到10年后的今天c.add(Calendar.YEAR,+1);c.add(Calendar.DAY_OF_MONTH,+7);//3.通過獲取到的日歷對(duì)象,調(diào)用get(),傳入對(duì)應(yīng)的日歷字段,就可以拿到對(duì)應(yīng)的值int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int day = c.get(Calendar.DAY_OF_MONTH);//4.打印1年后的7天后:2022年10月1日System.out.println(year +"年"+ month +"月"+ day +"日");}@TestpublicvoidTestSet(){//1.獲取日歷對(duì)象Calendar c =Calendar.getInstance();//2.測(cè)試set方法c.set(2099,9,1);//3.通過獲取到的日歷對(duì)象,調(diào)用get(),傳入對(duì)應(yīng)的日歷字段,就可以拿到對(duì)應(yīng)的值int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int day = c.get(Calendar.DAY_OF_MONTH);//4.打印:2099年10月1日System.out.println(year +"年"+ month +"月"+ day +"日");}}
packagecn.cxy.date3;importjava.util.Calendar;importjava.util.Scanner;/*本類用于日歷類的鞏固練習(xí)* 需求:獲取任意一年的2月有多少天*/publicclassTestFeb{publicstaticvoidmain(String[] args){//1.提示并接收用戶要測(cè)試的年份:System.out.println("請(qǐng)您輸入要查詢的年份:");int year =newScanner(System.in).nextInt();//2.獲取日歷類對(duì)象,并將時(shí)間設(shè)置為用戶輸入那年的3月1日Calendar c =Calendar.getInstance();c.set(year,2,1);//3.三月一日往前推一天就是2月的最后一天c.add(Calendar.DATE,-1);//4.獲取這一天輸出即可int date = c.get(Calendar.DATE);System.out.println(year +"年的2月有"+ date +"天");}}