更多 Java 基礎(chǔ)知識方面的文章趾撵,請參見文集《Java 基礎(chǔ)知識》
關(guān)于 Java 8 的日期與時間操作,參見 Java8 日期與時間操作
Calendar 類
示例:
public static void main(String[] args) {
// 使用默認的時區(qū) timezone 和語言 locale
Calendar cal = Calendar.getInstance();
// Thu Jan 19 17:49:26 CST 2017
System.out.println(cal.getTime());
System.out.println(cal.getTimeInMillis()); // 毫秒數(shù)
System.out.println(cal.get(Calendar.YEAR)); // 年
System.out.println(cal.get(Calendar.MONTH)); // 月 0~11
System.out.println(cal.get(Calendar.DATE)); // 日
System.out.println(cal.get(Calendar.HOUR_OF_DAY)); // 小時
System.out.println(cal.get(Calendar.MINUTE)); // 分
System.out.println(cal.get(Calendar.SECOND)); // 秒
// 昨天
cal.add(Calendar.DATE, -1);
// 明年
cal.add(Calendar.YEAR, 1);
}
Calendar 類 VS Date 類
Date date = new Date();
Date date = Calendar.getInstance().getTime();
-
Date
類更簡單膨疏,主要用于兼容之前的 Java 程序 - 如果需要設(shè)置和操作日期,最好使用
Calendar
類 -
Date
不能設(shè)置時區(qū) timezone 和語言 locale玄渗,而Calendar
類可以設(shè)置鳖目。
日期格式化
使用 SimpleDateFormat
,關(guān)于格式參數(shù),可以參見 SimpleDateFormat
測試頁面:Online SimpleDateFormat Test
示例:
// 使用默認的時區(qū) timezone 和語言 locale
Calendar cal = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
System.out.println(df.format(cal.getTime())); // 2017/01/19
Date date = df.parse("2017/01/19");
System.out.println(date); // Thu Jan 19 00:00:00 CST 2017