如何检查当前日期是否是该月的第一天

Nic*_*lis 5 java equality date

我正在尝试编写一个函数,其中涉及检查当前日期是否是该月的第一个,例如01/03/2015,然后运行取决于是否.

无论是日期对象还是日历对象都没关系,我只想检查代码运行时的当前日期是否是本月的第一天

But*_*ass 8

有一个吸气剂:

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)


Mic*_*čík 6

使用 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()

  • 很高兴终于有人(三年后)提供了“java.time”答案,现代答案。谢谢。更简单:`someDate.getDayOfMonth() == 1`。 (3认同)