有没有办法使用time4j库获取一个月的天数?
在android默认日历中,我们可以像下面这样简单地获取它
Calendar calendar=Calendar.getInstance();
int numOfDaysInMonth=calendar.getActualMaximum(Calendar.DAY_OF_MONTH); 我的意思是一种标准的方式,而不是疯狂的方式,比如去下个月的第一天,然后有一天回来,然后得到每月的一天。
那么我们可以在像"PersianCalendar“这样的time4j日历中做到这一点吗?
发布于 2019-12-27 20:15:41
使用默认最大值的@محمدعلی的答案有一个问题:它不使用任何日历上下文,因此无法确定上个月ESFAND的最大值。但是@Tunaki给出的旧评论已经是一个很好的简单的答案了:
PersianCalendar today = PersianCalendar.nowInSystemTime();
int lengthOfCurrentMonth = today.lengthOfMonth();或者,您也可以使用元素PersianCalendar.DAY_OF_MONTH,但是您应该确定上下文最大值,而不是默认的最大值:
PersianCalendar today = PersianCalendar.nowInSystemTime();
int lengthOfCurrentMonth = today.getMaximum(PersianCalendar.DAY_OF_MONTH);这两个表达式在所有方面都将产生相同的结果,并且是完全等效的。
对于标准月份(FARVARDIN (1)到巴赫曼(11)),结果将与默认最大值一致。但最后一个月的ESFAND要么是平年的29天,要么是闰年的30天。这里提供的两种方法都会考虑到这一点(但不是默认的最大值方法)。
https://stackoverflow.com/questions/42540194
复制相似问题