JAVA中获得一个月最大天数的方法(备忘)
Calendar 类是一个抽象类,为日历字段之间的转换提供了一些方法。
其中有一个重要方法 getActualMaximum ,该方法用于返回指定日历字段实际的最大值。
利用这个方法(Calendar.getActualMaximum),我们可以获得某年某月的天数。
代码如下:
/*** 获得某个月最大天数* * @param year 年份* @param month 月份 (1-12)* @return 某个月最大天数*/public int getMaxDayByYearMonth(int year, int month) {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR, year - 1);calendar.set(Calendar.MONTH, month);return calendar.getActualMaximum(Calendar.DATE);}
备注:以上代码有两个需要注意的地方:
① Calendar除了getActualMaximum方法之外,还有一个看起来类似的方法getMaximum,但是这两个方法是不同的:
getActualMaximum 返回实际的最大数值,getMaximum 返回的是可能的最大数值。
上面的代码如果改成getMaximum,那么一般情况都会恒定的返回31 (月份中可能的最大天数是31)
② Calendar 的月份取值范围是 0 - 11 , 0代表1月 11代表12月份
(这是因为Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY。而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回“0”,所以我们操作月份的时候会根据需要做 +1 或 -1 的处理)
转载于:https://www.cnblogs.com/relucent/p/4566582.html
JAVA中获得一个月最大天数的方法(备忘)相关推荐
- java判断一个月间隔_如何检查间隔列表(Joda-Time)是否完全涵盖Java中的一个月
您可以使用下一个方法 static boolean covers(Interval month, List intervals) { //assumes intervals are sorted al ...
- Java黑皮书课后题第4章:*4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数。如果月份非法则显示出错信息
*4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前3个字母(第一个字母使用大写形式),显示该月中的天数.如果月份非法则显示出错信息 题目 题目概述 破题 运行示例 代码 题 ...
- 第四章第十七题(一个月的天数)(Days of a month)
第四章第十七题(一个月的天数)(Days of a month) *4.17(一个月的天数)编写一个程序,提示用户输入一个年份和一个月份名称的前三个字母(第一个字母使用大写形式),显示该月中的天数.如 ...
- 如何在Java中创建一个新的List
本文翻译自:How to make a new List in Java We create a Set as: 我们创建一个Set为: Set myset = new HashSet() How d ...
- 怎么在java中创建一个自定义的collector
文章目录 简介 Collector介绍 自定义Collector 总结 怎么在java中创建一个自定义的collector 简介 在之前的java collectors文章里面,我们讲到了stream ...
- 怎么在java中关闭一个thread
怎么在java中关闭一个thread 我们经常需要在java中用到thread,我们知道thread有一个start()方法可以开启一个线程.那么怎么关闭这个线程呢? 有人会说可以用Thread.st ...
- java中判断一个字符在字符串中出现的次数
源代码: //java中判断一个字符出现的次数//在下面字符串中查找有几个啊public static void testFindChar(){String str = "啊!我爱你中国!啊 ...
- c++中的new_怎么在java中创建一个自定义的collector
简介 在之前的java collectors文章里面,我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法,将结果转换为特定的集合类. 今 ...
- thread java 关闭_怎么在java中关闭一个thread
怎么在java中关闭一个thread 我们经常需要在java中用到thread,我们知道thread有一个start()方法可以开启一个线程.那么怎么关闭这个线程呢? 有人会说可以用Thread.st ...
最新文章
- 使用.net开发手机管理软件 (七) IrMC简介
- 检测日期格式是否为yyyy-MM-dd
- p字间距 html段落内文字设置字间距间隔
- 【Java】文件锁定与系列NIO操作
- 华为公开折叠屏新专利:Mate X2有望首发搭载
- Oracle预定义的21个系统异常类型
- FREERTOS 手册阅读笔记
- jquery学习系列1(Ready)
- Https网络安全传输详解
- 软件性能优化之内存优化
- java 上传文件 md5_上传到文件选择器时的md5校验和
- ICEM 准备工作-常用操作
- groovy语法基础
- 14种异常检测方法汇总
- keil调试过程中源代码界面没有箭头
- 搭建无线监控云存储服务器,mac 篇二:自建docker视频录像机NVR存储-家用摄像头云存储服务zoneminder...
- 华雨欢:昨日黄花在逐渐奋起的市场里夭折与否已没多少人关注
- t420i升级固态硬盘提升_技术丨如何升级固态硬盘,提高电脑性能
- matlab常用工具箱汇总(附toolbox下载地址)
- 挽回前男友的方法(挽回必看)