我试着写一个函数,它涉及检查当前日期是否是这个月的第一天,例如01/03/2015,然后根据它是否是运行一些东西。它是日期还是日历对象并不重要,我只想检查代码运行时的当前日期是否是每月的第一天
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; }
v440hwme2#
使用LocalDate和TemporalAdjuster的Java 8解决方案
每月第一天:
someDate.isEqual(someDate.with(firstDayOfMonth()))
每月最后一天:
someDate.isEqual(someDate.with(lastDayOfMonth())
此解决方案使用java.time.temporal中的TemporalAdjusters实用程序。通常将其用作import static,但您也可以将其用作TemporalAdjusters.lastDayOfMonth()
java.time.temporal
import static
TemporalAdjusters.lastDayOfMonth()
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; }
3条答案
按热度按时间jobtbby31#
这里有一个getter:
v440hwme2#
使用LocalDate和TemporalAdjuster的Java 8解决方案
每月第一天:
每月最后一天:
此解决方案使用
java.time.temporal
中的TemporalAdjusters实用程序。通常将其用作import static
,但您也可以将其用作TemporalAdjusters.lastDayOfMonth()
qni6mghb3#