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

时间:2015-03-30 13:34:59

标签: java date equality

我正在尝试编写一个函数,该函数涉及检查当前日期是否是该月的第一个,例如01/03/2015,然后根据具体情况运行。

它是一个日期或日历对象并不重要,我只想检查代码运行的当前日期是否是该月的第一天

3 个答案:

答案 0 :(得分:7)

对此有一个吸气剂:

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;
}

答案 1 :(得分:2)

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

每月的第一天:

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

每个月的最后一天:

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

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

答案 2 :(得分:1)

SELECT col1, col2, col3, col4 FROM 
    (SELECT t1.*, (@t1VID := @t1VID + 1) t1VID  FROM t1 , (SELECT @t1VID := 0) d) e 
        JOIN (SELECT t2.*, (@t2VID := @t2VID + 1) t2VID FROM t2, (SELECT @t2VID := 0) a ) b ON t1VID  = t2VID
        JOIN (SELECT @t1VID := 0) c ;