检查日历日期是否为星期日

Mar*_*sen 9 java calendar date

我想弄清楚如何让我的程序计算一周内的星期日数.

我尝试过以下的事情:

if (date.DAY_OF_WEEK == date.SUNDAY) {
    System.out.println("Sunday!");
}
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用?

当我试着System.out.Println the date.DAY_OF_WEEK得到:7

有谁知道我如何检查当前日历日期是否是星期日?

更新更多信息

  1. 所有日期的日期.DAY_OF_WEEK是一个Calendar对象!

  2. 我确保将Calendar对象date设置为星期日

系统输出打印我获得7是当我尝试运行时它返回给我,date.DAY_OF_MONTH即使它设置为星期日的那天

第二次更新到亚历克斯

这或多或少是我的代码

Calendar startDate = Calendar.getInstance();

    startDate.set(2012, 12, 02);
    if (startDate.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
        System.out.println("true");
    }else {
        System.out.println("FALSE");
    }
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 25

Calendar cal = ...;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
    System.out.println("Sunday!");
}
Run Code Online (Sandbox Code Playgroud)

Calendar.DAY_OF_WEEK始终等于7无论Calendar您使用的是什么实例(请参阅此链接),它都是一个常量,用于与Calendar.get()方法一起使用以检索正确的值.

它的召唤Calendar.get(Calendar.DAY_OF_WEEK)将返回一周的真实日子.此外,您将在CalendarCalendar.SUNDAY(以及其他日期和月份)中找到有用的值,以便您在代码中更明确,并避免错误JANUARY等于0.

编辑

就像我说的,Calendar该类确实包含有用的常量供您使用.12它们没有开始的月份编号0(见上文),Java日期处理中的DECEMBER月份编号11也是如此.

Calendar startDate = Calendar.getInstance();
startDate.set(2012, Calendar.DECEMBER, 02);
if (startDate.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
    System.out.println("true");
} else {
    System.out.println("FALSE");
}
Run Code Online (Sandbox Code Playgroud)

true当然会印刷.