首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用time4j获取每月的天数

使用time4j获取每月的天数
EN

Stack Overflow用户
提问于 2017-03-02 03:19:39
回答 1查看 165关注 0票数 0

有没有办法使用time4j库获取一个月的天数?

在android默认日历中,我们可以像下面这样简单地获取它

代码语言:javascript
复制
Calendar calendar=Calendar.getInstance();
int numOfDaysInMonth=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);      

我的意思是一种标准的方式,而不是疯狂的方式,比如去下个月的第一天,然后有一天回来,然后得到每月的一天。

那么我们可以在像"PersianCalendar“这样的time4j日历中做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-27 20:15:41

使用默认最大值的@محمدعلی的答案有一个问题:它不使用任何日历上下文,因此无法确定上个月ESFAND的最大值。但是@Tunaki给出的旧评论已经是一个很好的简单的答案了:

代码语言:javascript
复制
PersianCalendar today = PersianCalendar.nowInSystemTime();
int lengthOfCurrentMonth = today.lengthOfMonth();

或者,您也可以使用元素PersianCalendar.DAY_OF_MONTH,但是您应该确定上下文最大值,而不是默认的最大值:

代码语言:javascript
复制
PersianCalendar today = PersianCalendar.nowInSystemTime();
int lengthOfCurrentMonth = today.getMaximum(PersianCalendar.DAY_OF_MONTH);

这两个表达式在所有方面都将产生相同的结果,并且是完全等效的。

对于标准月份(FARVARDIN (1)到巴赫曼(11)),结果将与默认最大值一致。但最后一个月的ESFAND要么是平年的29天,要么是闰年的30天。这里提供的两种方法都会考虑到这一点(但不是默认的最大值方法)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42540194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档