Java基礎(chǔ)入門之Calendar類和DateFormat類
大家好,我是Java進(jìn)階者,今天小編帶大家一起來學(xué)習(xí)Java技術(shù)基礎(chǔ)!
一、Calendar類
1.Calendar從字面上的意思就是日歷,在java中Calendar類是可以通過方法設(shè)置和讀取顯示年、月、日、時(shí),分、秒等。當(dāng)創(chuàng)建Calendar的對(duì)象時(shí)不可以使用new關(guān)鍵字,因?yàn)镃alendar類它是一個(gè)抽象類,需要通過調(diào)用靜態(tài)的方法getInstance()方法來獲得一個(gè)Calendar的對(duì)象,再去調(diào)用其他的方法。
2.Calendar類方法如下圖所示:
上面圖片引自《菜鳥教程》
3.怎么通過Canledar類來獲取計(jì)算機(jī)當(dāng)前的年月日星期和時(shí)分秒的例子:
- import java.util.Calendar;
- public class p1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Calendar c = Calendar.getInstance();//獲取Calendar對(duì)象
- //獲取當(dāng)前的年
- int year = c.get(c.YEAR);
- //獲取當(dāng)前的月
- int month = c.get(c.MONDAY)+1;
- //獲取當(dāng)前的日
- int day = c.get(c.DATE);
- //獲取時(shí)
- int hour = c.get(c.HOUR);
- //獲取分
- int minute = c.get(c.MINUTE);
- //獲取秒
- int second = c.get(c.SECOND);
- //獲取當(dāng)前是星期幾(它是以周日為第一天)
- int week = c.get(c.DAY_OF_WEEK)-1;
- //設(shè)置年月日,時(shí)分秒是默認(rèn)的當(dāng)前值
- Calendar c1 = Calendar.getInstance();
- c1.set(2020, 5, 20);
- System.out.println("當(dāng)前的時(shí)間是: "+year+"年"+month+"月"+day+"日"+"\t星期"+week);
- System.out.println("當(dāng)前的時(shí)間是: "+hour+"時(shí)"+minute+"分"+second+"秒");
- System.out.println("設(shè)置的年月日時(shí)間是: "+c1.getTime());
- }
- }
運(yùn)行的結(jié)果是:
從上面代碼中,可以發(fā)現(xiàn)獲取當(dāng)前的月份時(shí)候,需要加一的原因是它的月份是從0開始的,所以需要加一。還有獲取當(dāng)前是星期幾也是一樣的,因?yàn)樗菑闹苋諡榈谝惶臁?/p>
二、DateFormat類
1.DateFormat類是把日期格式化轉(zhuǎn)換成字符串。在Date類中表示日期和時(shí)間,打印時(shí)會(huì)默認(rèn)時(shí)英文格式輸出日期和時(shí)間,當(dāng)轉(zhuǎn)換成中文格式就需要DateFormat類。DateFormat類也是抽象類,不可以實(shí)例化??梢酝ㄟ^靜態(tài)方法得到DateFormat類的實(shí)例對(duì)象。
2.DateFormat類的常用方法有:
從上面代碼中,可以發(fā)現(xiàn)獲取當(dāng)前的月份時(shí)候,需要加一的原因是它的月份是從0開始的,所以需要加一。還有獲取當(dāng)前是星期幾也是一樣的,因?yàn)樗菑闹苋諡榈谝惶臁?/p>
三、DateFormat類
1.DateFormat類是把日期格式化轉(zhuǎn)換成字符串。在Date類中表示日期和時(shí)間,打印時(shí)會(huì)默認(rèn)時(shí)英文格式輸出日期和時(shí)間,當(dāng)轉(zhuǎn)換成中文格式就需要DateFormat類。DateFormat類也是抽象類,不可以實(shí)例化。可以通過靜態(tài)方法得到DateFormat類的實(shí)例對(duì)象。
2.DateFormat類的常用方法有:
- import java.text.DateFormat;
- import java.util.Date;
- public class p2 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Date d=new Date();
- //定義四種格式
- DateFormat f,l,m,s;
- //Full格式
- f=DateFormat.getDateInstance(DateFormat.FULL);
- //Long格式
- l=DateFormat.getDateInstance(DateFormat.LONG);
- //medium格式
- m=DateFormat.getDateInstance(DateFormat.MEDIUM);
- //short格式
- s=DateFormat.getDateInstance(DateFormat.SHORT);
- //格式化日期
- System.out.println("Full格式:"+f.format(d));
- System.out.println("Long格式:"+l.format(d));
- System.out.println("medium格式:"+m.format(d));
- System.out.println("short格式:"+s.format(d));
- }
- }
輸出的結(jié)果是:
四、輸入一個(gè)年份,判斷是否是閏年
1.解題思路是:凡是不能被100整除但可以被4整除的年份,或能被400整數(shù)的年份是閏年,其余的年份不是閏年。
2.代碼:
- import java.util.Scanner;
- public class p3 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.print("請(qǐng)輸入年份:");
- Scanner scan = new Scanner(System.in);
- int year = scan.nextInt();
- if(year%4==0&&year%100!=0||year%400==0){
- System.out.println("你輸入的"+year+"年是閏年");
- }else{
- System.out.println("你輸入的"+year+"不是閏年");
- }
- }
- }
五、總結(jié)
本文主要介紹了Calendar類、DateFormat類、如何判斷閏年。
文中介紹了Calendar類的顯示和設(shè)置日期和時(shí)間。DateFormat類主要是把日期格式轉(zhuǎn)換成字符串的形式,英文轉(zhuǎn)成中文的格式。
通過如何去判斷的用戶輸入的年份是是不是閏年的例子幫助大家的理解。
我是Java進(jìn)階者,希望大家通過本文的學(xué)習(xí),對(duì)你有所幫助!