java 如何检查当前日期是否为月初

pkmbmrz7  于 2023-03-21  发布在  Java
关注(0)|答案(3)|浏览(407)

我试着写一个函数,它涉及检查当前日期是否是这个月的第一天,例如01/03/2015,然后根据它是否是运行一些东西。
它是日期还是日历对象并不重要,我只想检查代码运行时的当前日期是否是每月的第一天

jobtbby3

jobtbby31#

这里有一个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;
}
v440hwme

v440hwme2#

使用LocalDate和TemporalAdjuster的Java 8解决方案

每月第一天:

someDate.isEqual(someDate.with(firstDayOfMonth()))

每月最后一天:

someDate.isEqual(someDate.with(lastDayOfMonth())

此解决方案使用java.time.temporal中的TemporalAdjusters实用程序。通常将其用作import static,但您也可以将其用作TemporalAdjusters.lastDayOfMonth()

qni6mghb

qni6mghb3#

public static boolean isFirstDayOfTheMonth(Date dateToday){
    Calendar cal = Calendar.getInstance();
    c.setTime(dateToday );

    if (c.get(Calendar.DAY_OF_MONTH) == 1) {
      return true;
    }
    return false;
}

相关问题