一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - Java教程 - Java Calendar類使用總結(jié)及使用實(shí)例

Java Calendar類使用總結(jié)及使用實(shí)例

2021-07-21 14:13周偉偉的技術(shù)博客 Java教程

這篇文章主要介紹了Java Calendar類使用總結(jié)及使用實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

平時(shí)在瀏覽一些網(wǎng)站時(shí),有些網(wǎng)站會(huì)顯示出當(dāng)前時(shí)間,如現(xiàn)在是xx年xx月xx日 xx時(shí)xx分xx秒,在實(shí)際的開發(fā)過程中,也會(huì)涉及到日期和時(shí)間的計(jì)算,java中提供了一個(gè)專門的類calendar來處理日期與時(shí)間。
接下來就講解下calendar類的使用場(chǎng)景及使用方法。

1.獲取calendar實(shí)例

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

?
1
public abstract class calendar implements serializable, cloneable, comparable<calendar>

因?yàn)楸欢x為abstract,所以我們無法通過new來創(chuàng)建calendar類的實(shí)例,不過calendar類提供了一個(gè)類方法getinstance()來返回calendar的實(shí)例。

?
1
2
3
4
public static calendar getinstance()
{
 return createcalendar(timezone.getdefault(), locale.getdefault(locale.category.format));
}

由此,獲取calendar實(shí)例的代碼如下所示:

?
1
calendar calendar = calendar.getinstance();

2.獲取當(dāng)前時(shí)間

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
 // 月份的下標(biāo)是從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小時(shí)制
 int minute = calendar.get(calendar.minute);
 int second = calendar.get(calendar.second);
 
 system.out.println("現(xiàn)在是:" + year + "年" + month + "月" + day + "日" + hour + "時(shí)" + minute + "分" + second + "秒");
 }
}

運(yùn)行結(jié)果:

現(xiàn)在是:2019年2月21日15時(shí)36分38秒

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

3.設(shè)置時(shí)間
假設(shè)我們現(xiàn)在需要將時(shí)間設(shè)置為2019-02-21 23:59:59

3.1(一起設(shè)置):

?
1
2
3
4
calendar calendar = calendar.getinstance();
calendar.set(2019, calendar.february, 21, 23, 59, 59);
 
system.out.println(calendar.gettime());

3.2(分別設(shè)置):

?
1
2
3
4
5
6
7
8
9
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的運(yùn)行結(jié)果都如下所示:

thu feb 21 23:59:59 cst 2019

 4.時(shí)間計(jì)算

4.1增加秒

我們?cè)?.1的基礎(chǔ)上增加1秒,那么時(shí)間應(yīng)該是2019-02-22 00:00:00

?
1
2
3
4
5
6
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());
}

運(yùn)行結(jié)果:

fri feb 22 00:00:00 cst 2019

4.2增加月

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

?
1
2
3
4
5
6
7
8
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());

運(yùn)行結(jié)果:

thu jan 31 15:58:03 cst 2019
thu feb 28 15:58:03 cst 2019
sun apr 28 15:58:03 cst 2019

注意事項(xiàng):當(dāng)所在的月份沒有那個(gè)日期時(shí),如2月份沒有31號(hào),返回的是所在月的最后一天(2月28號(hào))

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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());
 }
}

運(yùn)行結(jié)果:

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

6.參考鏈接
java中calendar類的常用方法
java calendar類的使用總結(jié)
java時(shí)間類date、calendar及用法

 以上所述是小編給大家介紹的java calendar類使用總結(jié)及使用實(shí)例詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:https://www.cnblogs.com/zwwhnly/p/10413392.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩在线观看一区二区不卡视频 | www.97cao| 国产日韩精品一区二区在线观看 | 91爱爱网站| 国产成人激烈叫床视频 | 欧美夫妇野外交换hd高清版 | 久久国产热视频99rev6 | 男同互操 | 男人香蕉好大好爽视频 | 四虎永久网址在线观看 | 国产一级一级一级成人毛片 | 狠狠澡 | 久久热r在线视频精品 | 成人国产精品一级毛片视频 | 国产精品久久亚洲一区二区 | 五月天精品视频播放在线观看 | 国内精品哆啪啪 | 国产老熟 | 国产免费小视频 | 五月性| 亚洲国产欧美在线人成 | 5566中文字幕亚洲精品 | 纲手被强喷水羞羞漫画 | 久久精品无码人妻无码AV蜜臀 | 国产五月天在线 | 香蕉91| 女八把屁股扒开让男生添 | 草草免费观看视频在线 | 欧美 亚洲 综合 卡通 另类 区 | 鬼吹灯之天星术免费观看 | 亚洲乱码尤物193yw在线播放 | 免费视频 久久久 | 超级乱淫伦小说1女多男 | 超碰成人在线播放 | a一区二区三区视频 | 欧美在线视频 一区二区 | 国产在线视频欧美亚综合 | 99re精品在线 | 亚洲国产成人精品不卡青青草原 | 92精品国产成人观看免费 | 白丝h视频 |