国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java Calendar類使用總結及使用實例

2024-07-14 08:43:44
字體:
來源:轉載
供稿:網友

平時在瀏覽一些網站時,有些網站會顯示出當前時間,如現在是xx年xx月xx日 xx時xx分xx秒,在實際的開發過程中,也會涉及到日期和時間的計算,Java中提供了一個專門的類Calendar來處理日期與時間。
接下來就講解下Calendar類的使用場景及使用方法。

1.獲取Calendar實例

首先,我們看下Calendar類的定義

public abstract class Calendar implements Serializable, Cloneable, Comparable<Calendar>

因為被定義為abstract,所以我們無法通過new來創建Calendar類的實例,不過Calendar類提供了一個類方法getInstance()來返回Calendar的實例。

public static Calendar getInstance(){ return createCalendar(TimeZone.getDefault(), Locale.getDefault(Locale.Category.FORMAT));}

由此,獲取Calendar實例的代碼如下所示:

Calendar calendar = Calendar.getInstance();

2.獲取當前時間

package com.zwwhnly.springbootdemo;import java.util.Calendar;public class CalendarDemo { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); // 月份的下標是從0開始的,即0~11分別代表1~12月,因此需要+1 int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小時制 int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); System.out.println("現在是:" + year + "年" + month + "月" + day + "日" + hour + "時" + minute + "分" + second + "秒"); }}

運行結果:

現在是:2019年2月21日15時36分38秒

注意:月份的下標是從0開始的,即0~11分別代表1~12月

3.設置時間
假設我們現在需要將時間設置為2019-02-21 23:59:59

3.1(一起設置):

Calendar calendar = Calendar.getInstance();calendar.set(2019, Calendar.FEBRUARY, 21, 23, 59, 59);System.out.println(calendar.getTime());

3.2(分別設置):

Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, 2019);calendar.set(Calendar.MONTH, Calendar.FEBRUARY);calendar.set(Calendar.DAY_OF_MONTH, 21);calendar.set(Calendar.HOUR_OF_DAY, 23);calendar.set(Calendar.MINUTE, 59);calendar.set(Calendar.SECOND, 59);System.out.println(calendar.getTime());

3.1和3.2的運行結果都如下所示:

Thu Feb 21 23:59:59 CST 2019

 4.時間計算

4.1增加秒

我們在3.1的基礎上增加1秒,那么時間應該是2019-02-22 00:00:00

public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.set(2019, Calendar.FEBRUARY, 21, 23, 59, 59); calendar.add(Calendar.SECOND, 1); System.out.println(calendar.getTime());}

運行結果:

Fri Feb 22 00:00:00 CST 2019

4.2增加月

首先我們將時間設置為2019-01-31,然后先增加1個月,再增加2個月

Calendar calendar = Calendar.getInstance();calendar.set(2019, Calendar.JANUARY, 31);System.out.println(calendar.getTime());calendar.add(Calendar.MONTH, 1);System.out.println(calendar.getTime());calendar.add(Calendar.MONTH, 2);System.out.println(calendar.getTime());

運行結果:

Thu Jan 31 15:58:03 CST 2019
Thu Feb 28 15:58:03 CST 2019
Sun Apr 28 15:58:03 CST 2019

注意事項:當所在的月份沒有那個日期時,如2月份沒有31號,返回的是所在月的最后一天(2月28號)

5.擴展:獲取某月的第一天和最后一天

package com.zwwhnly.springbootdemo;import java.text.SimpleDateFormat;import java.util.Calendar;public class CalendarDemo { public static void main(String[] args) { System.out.println(getFirstDayOfMonth(2019, 2)); System.out.println(getLastDayOfMonth(2019, 2)); System.out.println(getFirstDayOfMonth(2019, 3)); System.out.println(getLastDayOfMonth(2019, 3)); } public static String getLastDayOfMonth(int year, int month) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month - 1); calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DATE)); return new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); } public static String getFirstDayOfMonth(int year, int month) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, year); calendar.set(Calendar.MONTH, month - 1); calendar.set(Calendar.DAY_OF_MONTH, calendar.getMinimum(Calendar.DATE)); return new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); }}

運行結果:

2019-02-01
2019-02-28
2019-03-01
2019-03-31

 以上所述是小編給大家介紹的Java Calendar類使用總結及使用實例詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彰化市| 遂溪县| 瓦房店市| 横峰县| 肇东市| 会昌县| 林州市| 乐至县| 临桂县| 辽阳市| 吴桥县| 凤庆县| 万山特区| 玉门市| 九台市| 平原县| 泸州市| 观塘区| 连山| 上林县| 平顶山市| 贵南县| 肇庆市| 子长县| 合肥市| 巨鹿县| 永靖县| 车险| 祁东县| 黎平县| 神池县| 水富县| 奇台县| 木兰县| 安福县| 专栏| 仙桃市| 沈阳市| 勐海县| 太仓市| 远安县|