Nic*_*lis 5 java equality date
我正在尝试编写一个函数,其中涉及检查当前日期是否是该月的第一个,例如01/03/2015,然后运行取决于是否.
无论是日期对象还是日历对象都没关系,我只想检查代码运行时的当前日期是否是本月的第一天
有一个吸气剂:
public boolean isFirstDayofMonth(Calendar calendar){
if (calendar == null) {
throw new IllegalArgumentException("Calendar cannot be null.");
}
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
return dayOfMonth == 1;
}
Run Code Online (Sandbox Code Playgroud)
使用 LocalDate 和 TemporalAdjuster 的 Java 8 解决方案
每月第一天:
someDate.isEqual(someDate.with(firstDayOfMonth()))
Run Code Online (Sandbox Code Playgroud)
每月最后一天:
someDate.isEqual(someDate.with(lastDayOfMonth())
Run Code Online (Sandbox Code Playgroud)
该解决方案使用TemporalAdjusters实用程序java.time.temporal。通常的做法是将其用作,import static但您也可以将其用作TemporalAdjusters.lastDayOfMonth()