“我記得我想告訴你一些關於約會的事情。”

“您已經告訴我 Java 有 Date 類,我可以使用該類來處理日期。”

“嗯。好吧,Date 類已經過時了一段時間了。”

“現在建議改用 Calendar 類,它有一個返回當前日期的 getTime() 方法。”

“這是一個通常創建的日曆對象:”

創建日曆對象
Calendar cal = Calendar.getInstance();

“當您調用此方法時,會根據您的計算機設置創建正確的日曆。”

“‘正確’的日曆?也就是說有好幾個?”

“是的。嗯,說'相關'會更準確。事實是地球上沒有一個,而是許多日曆。幾乎每一個都與某個宗教或國家有關。”

“年份可能會有所不同,具體取決於您所在的國家/地區。”

“這裡是最常見的日曆示例。”

日曆類 日曆名稱
公曆 基督教公曆
佛歷 佛歷
日本皇曆 日本皇曆

“還有中國曆法、伊斯蘭曆法等等。”

“我懂了。”

“要獲取當前日期,您需要編寫如下代碼:”

獲取當前時間
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

“Calendar 類有許多方法可以讓您快速獲取有關日期和時間的任何信息。”

代碼 評論
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
年月
_



星期幾(週一、週二、週三……)

分秒
_

“有時你真的只需要獲取一些可用信息。例如,當前年份或星期幾。”

“但有時你只需要以正確的格式顯示日期。”

“例如,在日誌文件或其他地方。”

“或者做一個用戶可以自定義的格式,那你怎麼辦?”

“為此也有特殊的類。SimpleDateFormat非常適合您描述的任務:”

如何以所需格式顯示日期
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

“啊,我記得了,關於SimpleDateFormat你已經跟我解釋過了,不過我真的記不太清了。”

“這一切都非常簡單。您創建一個SimpleDateFormat對象並將您想要獲得的日期模式傳遞給它。然後您調用格式方法,它會以所需的形式為您提供傳遞的日期。”

“聽起來很有趣。我想要更多細節。”

“給你。細節。這裡是一些可以在日期模式中使用的字母:”

描述
G 替換為紀元(AD 或 BC)
換成年份
換成月份
w 一年中的第幾週
W 一個月中的第幾週
一年中的天數
d 每月的第幾天
F 一個月中的星期幾
一周中的天
A 上午/下午(中午之前或之後)
H 24 小時格式的小時 (0-23)
k 24 小時格式的小時 (1-24)
12 小時格式的小時 (0-11)
H 12 小時格式的小時 (1-12)
分鐘
小號 毫秒
z 時區,格式如下:太平洋標準時間,PST
Z 時區,格式如下:-0800/td>

“太棒了!這就是你需要的一切。”

“重複這些字母仍然存在一些細微差別。”

“如果你寫 YY,你會得到年份的最後兩位數字。如果你寫 YYYY,你會得到年份的所有四位數字。”

“月份也有些複雜。MM是月份的數字。MMM是月份的三個字母的縮寫,即Jan、Feb、Mar、Apr、May等。MMMM代表月份的全稱

“您還可以顯示一周中的全天(使用 EEEE)或僅顯示前兩個字母(使用 EE)。”

“謝謝,Rishi。這個 SimpleDateFormat 類真的很有用。現在我知道了。”

“享受使用吧!祝你好運!”