最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年03月12日 17:08:25   作者:周偉偉的技術(shù)博客  
這篇文章主要介紹了Java Calendar類(lèi)使用總結(jié)及使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

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

1.獲取Calendar實(shí)例

首先,我們看下Calendar類(lèi)的定義

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

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

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

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

Calendar calendar = Calendar.getInstance();

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

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開(kāi)始的,即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開(kāi)始的,即0~11分別代表1~12月

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

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

Calendar calendar = Calendar.getInstance();
calendar.set(2019, Calendar.FEBRUARY, 21, 23, 59, 59);

System.out.println(calendar.getTime());

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

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

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è)月

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)所在的月份沒(méi)有那個(gè)日期時(shí),如2月份沒(méi)有31號(hào),返回的是所在月的最后一天(2月28號(hào))

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

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類(lèi)的常用方法
Java Calendar類(lèi)的使用總結(jié)
java時(shí)間類(lèi)Date、Calendar及用法

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

相關(guān)文章

最新評(píng)論

阜平县| 长寿区| 和硕县| 苏尼特左旗| 封开县| 万盛区| 益阳市| 青河县| 苏尼特右旗| 鲁山县| 白城市| 姜堰市| 马尔康县| 北宁市| 屏东市| 德化县| 新昌县| 梁山县| 郎溪县| 晋江市| 普宁市| 杭州市| 宽城| 康定县| 云龙县| 滨州市| 囊谦县| 涿鹿县| 宣恩县| 高清| 靖边县| 玉林市| 和田市| 鱼台县| 房山区| 柞水县| 克山县| 和平县| 富源县| 阿拉尔市| 夏津县|