Date、Calendar and SimpleDateFormat

今天主要學習了三個常用的時間日期類,分別是Date、Calendar和SimpleDateFormat
一、Date和Calendar類
Date和Calendar類都在軟件包java.util中,其中Date類可以通過new一個Date對象獲取當前系統時間,格式如下:
Date d=new Date();
Date d=new Date(long millionSec); 其中millionSec表示從1970/1/1日 00:00:00的毫秒數

思考:爲什麼選擇1970/1/1?
早期計算機只有32位,32位能表示的最大數是2147483648,一年365天總共31536000秒,2147483648/31536000=68.1,從1970/1/1算起到2038/1/19就會達到最大,過了這個時間,32位系統時間就會變爲10000000,00000000,00000000,00000000;也就是會變成1901/12/13,出現時間迴歸的現象,所以早期的32位系統考慮到計算機的年代和應用的時限,綜合取了1970/1/1 00:00:00這個時間點爲起始時間。

因爲Date的API不易於實現國際化,所以很多API都棄用Date類,所以在獲取時間時儘量不要用Date類
課堂練習1:用Date獲取當前時間並顯示
這裏寫圖片描述
輸出內容:
這裏寫圖片描述

Calendar是一個抽象類,它爲特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日曆字段之間的轉換提供了一些方法,併爲操作日曆字段(例如獲得下星期的日期)提供了一些方法。
Calendar通過getInstance方法獲取實例,並由當前日期和時間初始化。
Calendar time=Calendar.getInstance();
Calendar類常用的字段:
YEAR (get或set年)
MONTH (get或set月,月份是從0開始,所以要+1)
DATE (get或set日)
HOUR_OF_DAY (get或set獲取小時,該字段是24小時制的,12小時制的可以使用HOUR字段)
MINUTE (get或set分)
SECOND (get或set秒)
Calendar類常用的方法:
get(int field)返回指定的日曆字段的值
add(int field,int amount)根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量
set的方法有4個重載方法,主要是設置日曆字段的值
課堂練習2:用Calendar獲取當前時間並顯示
這裏寫圖片描述
輸出結果:
這裏寫圖片描述
課堂練習3:計算兩年前的今天是星期幾
計算方法:
這裏寫圖片描述
main方法:
這裏寫圖片描述
輸出結果:
兩年前的今天是星期三

二、SimpleDateFormat類
SimpleDateFormat是一個格式化時間的類
常見的字母及其含義
字母 日期或時間元素
y 年
M 月份
d 月份中天數
h am/pm中的小時數(1-12)
m 分鐘數
s 秒數
a 上午/下午
注意,字母的大小寫分別代表不同含義的。
日期表示格式通常有如下幾種:
yyyy/MM/dd HH:mm:ss 如 2016/01/01 17:55:00’
yyyy/MM/dd HH:mm:ss pm 如 2016/01/01 17:55:00 pm’
yyyy-MM-dd HH:mm:ss 如 2016-01-01 17:55:00’
yyyy-MM-dd HH:mm:ss am 如 ‘2016-01-01 17:55:00 am’
yyyy年MM月dd日 HH時mm分ss秒 如’2016年01月01日 17時55分00秒’
代碼演示:
這裏寫圖片描述
輸出結果:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章