java 日历类_java常用的类---日历类

11、日历类

(一)Calendar类概述

1、Calendar类的概述

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。

Calendar提供了一个类方法getlnstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化。

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

利用上述的方法实现获取当前日历:

程序如下:

package afternoon;

import java.util.Calendar;

/*

* Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法。

*Calendar提供了一个类方法getlnstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化。

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

*/

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月份

(二)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;

/*

(1)Public int get(int field) 返回给定的日历字段的值

(2)Public abstract void add(int filed,int amount) 根据日历规则,将指定的时间量添加或减去给定的日历字段

(3)public final void set(int year,int month,int data) 设置当前日历的年月日

*/

public class CalendarDemo1 {

public static void main(String[] args){

//获取对象

Calendar c=Calendar.getInstance();

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

/*

* Public abstract void add(int filed,int amount)

根据日历规则,将指定的时间量添加或减去给定的日历字段

*/

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;

/*

*案列:获取任意一年的二月有多少天

思路:

(1)键盘录入任意的年份

(2)设置日历的年、月、日

年:键盘录入

月:设置为3月

日:设置为1日

(3)3月1日往前推一天,就是2月的最后一天

(4)输出这一天即可。

*/

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+"天");

}

}

思考:对于采用日历类去计算任给一个月判断其为月大,还是月小??

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值