Java 如何检查当前日期是否为月份的第一天
我正在尝试编写一个函数,其中包括检查当前日期是否为一个月的第一个月,例如2015年3月1日,然后根据实际情况运行一些操作Java 如何检查当前日期是否为月份的第一天,java,date,equality,Java,Date,Equality,我正在尝试编写一个函数,其中包括检查当前日期是否为一个月的第一个月,例如2015年3月1日,然后根据实际情况运行一些操作 不管它是日期还是日历对象,我只想检查代码运行时的当前日期是否为每月的第一天有一个getter: public boolean isFirstDayofMonth(Calendar calendar){ if (calendar == null) { throw new IllegalArgumentException("Calendar cannot
不管它是日期还是日历对象,我只想检查代码运行时的当前日期是否为每月的第一天有一个getter:
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;
}
具有LocalDate和TemporalAdjuster的Java 8解决方案 月初一:
someDate.isEqual(someDate.with(firstDayOfMonth()))
someDate.isEqual(someDate.with(lastDayOfMonth())
每月最后一天:
someDate.isEqual(someDate.with(firstDayOfMonth()))
someDate.isEqual(someDate.with(lastDayOfMonth())
此解决方案使用
java.time.temporal
中的实用程序。常用的做法是将其用作导入静态,但您也可以将其用作临时调整器。lastDayOfMonth()您的意思是如果它是每月的第一天?@taimeili123是的,这就是我的意思。很抱歉,它的措辞很糟糕Calendar.getInstance().get(Calendar.day\u of\u month)==1
?@NickKaraolis的日期格式总是MM/DD/yyyyy
?@taimeili123这是不相关的:“当前日期”。很高兴终于有人(三年后)提供了java.time
答案,现代答案。谢谢更简单的是:someDate.getDayOfMonth()==1
。你应该解释first/lastDayOfMonth()
从何而来。异常或可选的
比在null
@OlegSkylar上返回false
要好得多,但我同意。我会更新。