calendar的使用。以及如何获取某月份最后一天的方法

本文介绍了Java的Calendar类在处理日期时的注意事项,特别是月份从0开始计算,0表示January,11表示December。通过设置日历字段为特定年份的某月的第0天,可以获取该月的最后一天。例如,cal.set(2019, 2, 0)可得到2月最后一天,cal.set(2019, 0, 0)则表示2018年的最后一天。" 7622421,1255250,Ubuntu Apache2 启动失败:端口占用问题解决方案,"['Ubuntu', 'Apache', '服务器管理', '网络服务', '故障排查']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

calendar的使用:

注意:calendar的 与月相关的设置都是从0开始的计算的,0表示January,11表示December。

年/日 则从1开始(经常把月的特殊给忘记。。。。)

month - 用来设置 MONTH 日历字段的值。Month 值是基于 0 的。例如,0 表示 January

 

public static void test() {
	
	//calendar时抽象类 不能new。java提供了getInstance()方法来获取其对象
	Calendar calendar =Calendar.getInstance();
	// 获取年
	int year = calendar.get(Calendar.YEAR);
	
	// 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值
	int month = calendar.get(Calendar.MONTH) + 1;
	
	// 获取日
	int day = calendar.get(Calendar.DAY_OF_MONTH);
	// 获取时
	//	 	int hour = calendar.get(Calendar.HOUR);	//12小时表示
	int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时表示
	
	// 获取分
	int minute = calendar.get(Calendar.MINUTE);
	// 获取秒
	int second = calendar.get(Calendar.SECOND);
	
	// 星期,英语国家星期从 星期日开始计算 
	int weekday = calendar.get(Calendar.DAY_OF_WEEK)-1;
	System.out.println("现在是" + year + "年" + month + "月" + day + "日" + hour+ "时"+ minute + "分" + second + "秒" + "星期" + weekday);
	//设置时间

	calendar.set(2019,4,8);//这里实际设置的时间是2019年5月8号
	System.out.println(calendar.get(Calendar.YEAR));
	System.out.println(calendar.get(Calendar.MONTH)+1);
	System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
	
}
	

获取2月的最后一天操作:

private static void test2() {
	Calendar cal =Calendar.getInstance();
	cal.clear();//清楚系统时间,避免影响
	cal.set(2019,2,1);//获取3月第一天
//	cal.add(Calendar.DATE,1);//获取当前日期的下一天
	cal.add(Calendar.DATE,-1);//获取当前日期的上一天
	System.out.println(cal.get(Calendar.YEAR)+"年"+(cal.get(Calendar.MONTH)+1)+"月"+cal.get(Calendar.DAY_OF_MONTH)+"日");
		 	
}

也可以直接这样:

     cal.set(2019,2,0);//设置成3月的第0天,也就是2月的最后一天

     同理,如果设置成cal.set(2019,0,0);就表示 2018年的最后一天

private static void test2() {
	Calendar cal =Calendar.getInstance();
	cal.clear();//清楚系统时间,避免影响
	cal.set(2019,2,0);//设置成3月的第0天,也就是2月的最后一天
	System.out.println(cal.get(Calendar.YEAR)+"年"+(cal.get(Calendar.MONTH)+1)+"月"+cal.get(Calendar.DAY_OF_MONTH)+"日");
		 	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值