天天看點

java date擷取年月日_java常用的類---月曆類

11、月曆類

(一)Calendar類概述

1、Calendar類的概述

Calendar為某一時刻和一組月曆字段之間的轉換提供了一些方法,并為操作月曆字段提供了一些方法。

Calendar提供了一個類方法getlnstance用于擷取Calendar對象,其月曆字段已使用目前日期和時間初始化。

調用格式:Calendar rightNow=Calendar.getlnstance()

利用上述的方法實作擷取目前月曆:

程式如下:

package

afternoon;

import

java.util.Calendar;

public class

CalendarDemo {

public static void

main(String[] args){

//擷取對象

Calendar c=Calendar.getInstance();

//System.out.print(c); //這一步是用于自己對于擷取月曆的類型

int

year=c.get(Calendar.

YEAR

);

int

month=c.get(Calendar.

MONTH

);

int

data=c.get(Calendar.

DATE

);

System.

out

.print(year+"年"+month+"月"+data+"日"); //列印目前的時間

}

}

Output result:

2020年9月21日

注:此處用Calendar的過程當中的月份從0開始的,其中0代表1月份
java date擷取年月日_java常用的類---月曆類
(二)Calendar的常用方法

(1)Public int get(int field) 傳回給定的月曆字段的值

(2)Public abstract void add(int filed,int month,int data) 傳回目前月曆的年月日.

調用Calendar的常用方法:

程式:

package

afternoon;

import

java.util.Calendar;

public class

CalendarDemo1 {

public static void

main(String[] args){

//擷取對象

Calendar c=Calendar.getInstance();

//需求1:3年前的今天

c.add(Calendar.

YEAR

, -3);

//Public int get(int field) 傳回給定的月曆字段的值

int

year=c.get(Calendar.

YEAR

);

int

month=c.get(Calendar.

MONTH

)+1;

int

data=c.get(Calendar.

DATE

);

System.

out

.print(year+"年"+month+"月"+data+"日"); //列印3年前的今天

System.

out

.print("--------");

//需求2:15年後的5天前

c.add(Calendar.

YEAR

, 15);

c.add(Calendar.

DATE

, -5);

int

year2=c.get(Calendar.

YEAR

);

int

month2=c.get(Calendar.

MONTH

)+1;

int

data2=c.get(Calendar.

DATE

);

System.

out

.print(year2+"年"+month2+"月"+data2+"日"); //列印15年後的5天前

System.

out

.print("--------");

//public final void set(int year,int month,int data) 設定目前月曆的年月日

c.set(2020, 10, 21);

int

year1=c.get(Calendar.

YEAR

);

int

month1=c.get(Calendar.

MONTH

);

int

data1=c.get(Calendar.

DATE

);

System.

out

.print(year1+"年"+month1+"月"+data1+"日"); //列印設定目前月曆的年月日

}

}

Output result:

2017年10月21日--------2032年10月16日--------2020年10月21日

案列:二月天

package

afternoon;

import

java.util.Calendar;

import

java.util.Scanner;

public class

CalendarTest {

public static void

main(String[] args){

Scanner sc=

new

Scanner(System.

in

);

int

year=sc.nextInt();

System.

out

.print("請輸入年份:");

//建立月曆對象

Calendar c= Calendar.getInstance();

c.set(year, 2, 1);

//3月1日往前推一天,就是2月的最後一天

c.add(Calendar.

DATE

, -1);

//擷取這一天,輸出這一天即可。

//int year=c.get(Calendar.YEAR);

//int month=c.get(Calendar.MONTH)+1;

c.add(Calendar.

DATE

, -1);

int

data=c.get(Calendar.

DATE

);

System.

out

.print(year+"年的2月份有"+data+"天");

}

}

思考:對于采用月曆類去計算任給一個月判斷其為月大,還是月小??