Java基礎入門之Calendar類和DateFormat類
大家好,我是Java進階者,今天小編帶大家一起來學習Java技術基礎!
一、Calendar類
1.Calendar從字面上的意思就是日歷,在java中Calendar類是可以通過方法設置和讀取顯示年、月、日、時,分、秒等。當創建Calendar的對象時不可以使用new關鍵字,因為Calendar類它是一個抽象類,需要通過調用靜態的方法getInstance()方法來獲得一個Calendar的對象,再去調用其他的方法。
2.Calendar類方法如下圖所示:
上面圖片引自《菜鳥教程》
3.怎么通過Canledar類來獲取計算機當前的年月日星期和時分秒的例子:
- import java.util.Calendar;
- public class p1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Calendar c = Calendar.getInstance();//獲取Calendar對象
- //獲取當前的年
- int year = c.get(c.YEAR);
- //獲取當前的月
- int month = c.get(c.MONDAY)+1;
- //獲取當前的日
- int day = c.get(c.DATE);
- //獲取時
- int hour = c.get(c.HOUR);
- //獲取分
- int minute = c.get(c.MINUTE);
- //獲取秒
- int second = c.get(c.SECOND);
- //獲取當前是星期幾(它是以周日為第一天)
- int week = c.get(c.DAY_OF_WEEK)-1;
- //設置年月日,時分秒是默認的當前值
- Calendar c1 = Calendar.getInstance();
- c1.set(2020, 5, 20);
- System.out.println("當前的時間是: "+year+"年"+month+"月"+day+"日"+"\t星期"+week);
- System.out.println("當前的時間是: "+hour+"時"+minute+"分"+second+"秒");
- System.out.println("設置的年月日時間是: "+c1.getTime());
- }
- }
運行的結果是:
從上面代碼中,可以發現獲取當前的月份時候,需要加一的原因是它的月份是從0開始的,所以需要加一。還有獲取當前是星期幾也是一樣的,因為它是從周日為第一天。
二、DateFormat類
1.DateFormat類是把日期格式化轉換成字符串。在Date類中表示日期和時間,打印時會默認時英文格式輸出日期和時間,當轉換成中文格式就需要DateFormat類。DateFormat類也是抽象類,不可以實例化。可以通過靜態方法得到DateFormat類的實例對象。
2.DateFormat類的常用方法有:
從上面代碼中,可以發現獲取當前的月份時候,需要加一的原因是它的月份是從0開始的,所以需要加一。還有獲取當前是星期幾也是一樣的,因為它是從周日為第一天。
三、DateFormat類
1.DateFormat類是把日期格式化轉換成字符串。在Date類中表示日期和時間,打印時會默認時英文格式輸出日期和時間,當轉換成中文格式就需要DateFormat類。DateFormat類也是抽象類,不可以實例化。可以通過靜態方法得到DateFormat類的實例對象。
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));
- }
- }
輸出的結果是:
四、輸入一個年份,判斷是否是閏年
1.解題思路是:凡是不能被100整除但可以被4整除的年份,或能被400整數的年份是閏年,其余的年份不是閏年。
2.代碼:
- import java.util.Scanner;
- public class p3 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.print("請輸入年份:");
- 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+"不是閏年");
- }
- }
- }
五、總結
本文主要介紹了Calendar類、DateFormat類、如何判斷閏年。
文中介紹了Calendar類的顯示和設置日期和時間。DateFormat類主要是把日期格式轉換成字符串的形式,英文轉成中文的格式。
通過如何去判斷的用戶輸入的年份是是不是閏年的例子幫助大家的理解。
我是Java進階者,希望大家通過本文的學習,對你有所幫助!