亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

1.獲取Calendar實例

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

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

因為被定義為abstract,所以我們無法通過new來創(chuàng)建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("現(xiàn)在是:" + year + "年" + month + "月" + day + "日" + hour + "時" + minute + "分" + second + "秒");
 }
}

運行結果:

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

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

3.設置時間
假設我們現(xiàn)在需要將時間設置為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

6.參考鏈接
Java中Calendar類的常用方法
Java Calendar類的使用總結
java時間類Date、Calendar及用法

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

相關文章

  • java8中的lambda表達式簡介

    java8中的lambda表達式簡介

    Lambda表達式類似匿名函數(shù),簡單地說,它是沒有聲明的方法,也即沒有訪問修飾符、返回值聲明和方法名,這篇文章主要介紹了java8?中的lambda表達式簡介,需要的朋友可以參考下
    2022-06-06
  • java環(huán)境變量path和classpath的配置

    java環(huán)境變量path和classpath的配置

    這篇文章主要為大家詳細介紹了java系統(tǒng)環(huán)境變量path和classpath的配置過程,感興趣的小伙伴們可以參考一下
    2016-07-07
  • MyBatis查詢返回Map示例代碼

    MyBatis查詢返回Map示例代碼

    這篇文章主要給大家介紹了關于MyBatis查詢返回Map的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • eclipse啟動tomcat無法訪問的解決方法

    eclipse啟動tomcat無法訪問的解決方法

    這篇文章介紹了eclipse啟動tomcat無法訪問的解決方法,有需要的朋友可以參考一下
    2013-10-10
  • java實現(xiàn)液晶數(shù)字字體顯示當前時間

    java實現(xiàn)液晶數(shù)字字體顯示當前時間

    這篇文章主要為大家詳細介紹了java實現(xiàn)液晶數(shù)字字體顯示當前時間,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Java編程實現(xiàn)beta分布的采樣或抽樣實例代碼

    Java編程實現(xiàn)beta分布的采樣或抽樣實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)beta分布的采樣或抽樣實例,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • 使用Spring Boot+MyBatis框架做查詢操作的示例代碼

    使用Spring Boot+MyBatis框架做查詢操作的示例代碼

    這篇文章主要介紹了使用Spring Boot+MyBatis框架做查詢操作的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • java實現(xiàn)微信企業(yè)付款到個人功能

    java實現(xiàn)微信企業(yè)付款到個人功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)微信企業(yè)付款到個人功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • java實現(xiàn)象棋小游戲

    java實現(xiàn)象棋小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)象棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 沒有外網IDEA離線使用maven倉庫的方法

    沒有外網IDEA離線使用maven倉庫的方法

    這篇文章主要介紹了沒有外網,IDEA如何離線使用maven倉庫,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論