Java之Calendar类

Calendar类
java.until.Calendar日历类

定义

Calendar本身是一个抽象类,定义日历类操作时间的相关方法,其提供了一个静态方法getInstance(),可以根据系统所在地区获取一个适用的实现类,大部分地区获取的是CregorianCalenda.

实例

public static void main(String[] args){
	//日历默认(也表示当前系统时间)
	Calendar calendar = Calendar.getInstance();
	System.out.println(calendar);
	/*
	*Calendar可以提供Date之间的相互转换
	*Calendar提供方法,Date getTime();
	*该方法可以将当前Calendar所表示的日期以Date形式返回
	*/
	Date date = calendar.getTime();
	System.out.println(date);
	/*
	*Date转换为Calendar
	*Calendar提供了方法:void setTime(Date date)
	*使用当前Calendar表示给定的Date所表示的日期
	*/
	calendar.setTime(date);
	System.out.println(calendar);

}
运行结果
在这里插入图片描述

##Calendar_set

	Calendar calendar = Calendar.getInstance();
	System.out.println(calendar.getTime());
	//2008-08-08 20:08:08
	//设置年份
	calendar.set(Calendar.YEAR,2008);
	System.out.println(calendar.get(Calendar.YEAR));
	//设置月份
	calendar.set(Calendar.MONTH,8);
	System.out.println(calendar.get(Calendar.MONTH));
	//设置时
	calendar.set(Calendar.HOUR_OF_DAY,8);
	System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
	//设置分
	calendar.set(Calendar.MINUTE,8);
	System.out.println(calendar.get(Calendar.MINUTE));
	//设置秒
	calendar.set(Calendar.SECOND,8);
	System.out.println(calendar.get(Calendar.SECOND));
	

运行结果
在这里插入图片描述
##Calendar_get
Calendar提供了方法,根据给定的时间分片(各种事件单位)获取对应的值,时间分量是一个int值不需要记忆,Calendar提供了对应的常量

	public static void main(String[] args) {
		Calendar calendar = Calendar.getInstance();
		//获取年
		int year = calendar.get(Calendar.YEAR);
		System.out.println(year);
		
		//获取月(从0开始)
		int month = calendar.get(Calendar.MONTH)+1;
		System.out.println(month);
		
		//获取日
		int date = calendar.get(Calendar.DATE);
		System.out.println(date);
		
		//获取时
		int h = calendar.get(Calendar.HOUR_OF_DAY);
		System.out.println(h);
		
		//获取分
		int m = calendar.get(Calendar.MINUTE);
		System.out.println(m);
		//获取以上所有的片段都是从第一个时间分片中获取的
		
		//获取秒
		int s = calendar.get(Calendar.SECOND);
		System.out.println(s);
		
		//获取今年的第几天
		int d = calendar.get(Calendar.DAY_OF_YEAR);
		System.out.println(d);
		
		//获取今天是周几
		int dd = calendar.get(Calendar.DAY_OF_WEEK);
		System.out.println(dd);
		
		//查看今年共多少天
		int days = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);
		System.out.println(days);
		
		//查看本月是多少天
		days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println(days);
		
		//求一年当中每个月有多少天
		calendar.set(Calendar.YEAR, 2020);
		for(int i=0;i<12;i++){
			calendar.set(Calendar.MONTH, i);
			int cc= calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
			System.out.println((i+1)+"月有"+cc+"天");
		}
		
	}

运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值