Java 如何检查当前日期是否为月份的第一天

Java 如何检查当前日期是否为月份的第一天,java,date,equality,Java,Date,Equality,我正在尝试编写一个函数,其中包括检查当前日期是否为一个月的第一个月,例如2015年3月1日,然后根据实际情况运行一些操作 不管它是日期还是日历对象,我只想检查代码运行时的当前日期是否为每月的第一天有一个getter: public boolean isFirstDayofMonth(Calendar calendar){ if (calendar == null) { throw new IllegalArgumentException("Calendar cannot

我正在尝试编写一个函数,其中包括检查当前日期是否为一个月的第一个月,例如2015年3月1日,然后根据实际情况运行一些操作


不管它是日期还是日历对象,我只想检查代码运行时的当前日期是否为每月的第一天

有一个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
要好得多,但我同意。我会更新。