Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java日历检查今天是否是星期天_Java_Date_Calendar - Fatal编程技术网

如何使用Java日历检查今天是否是星期天

如何使用Java日历检查今天是否是星期天,java,date,calendar,Java,Date,Calendar,我写了几行不能正常工作的代码。为什么?有人能给我解释一下吗 Calendar date = Calendar.getInstance(); date.set(2010, 03, 7); if(date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) System.out.println("OK"); 因为2010年4月7日不是星期天0=一月,1=二月,2=三月 (另外,请注意,您在指定月份[03时使用了八进

我写了几行不能正常工作的代码。为什么?有人能给我解释一下吗

    Calendar date = Calendar.getInstance();

    date.set(2010, 03, 7);

    if(date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
        System.out.println("OK");

因为2010年4月7日不是星期天0=一月,1=二月,2=三月


(另外,请注意,您在指定月份[
03
时使用了八进制,而不是
3
08
是一个无效的八进制数。从零开始计算月份:

date.set(2010, 2, 7);

也不要养成用前导零写数字的习惯。这告诉Java(和许多其他语言)您希望将数字解释为八进制(以8为基数)常量,而不是十进制。

可能是因为月份是以0为基础的,所以您将4月7日设置为星期三。

月份值是以0为基础的

另外,如果要检查今天(程序运行的日期:)是否为星期日,则无需设置任何内容,因为该方法将根据默认时区中的当前时间返回一个日历对象,并使用默认区域设置:

Calendar date = Calendar.getInstance();    
//date.set(2010, 03, 7);    
if(date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)
    System.out.println("OK");

为避免出错,您可以使用当月的日历静态值,例如:

date.set(2010, Calendar.MARCH, 7);
这是给Euler 19的吗

如果是这样,这里有一个提示,从1901年到2000年,从第0个月到第11个月,从第1天到第31天,循环,然后询问:

if(date.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY  && day==1)
     counter++;

对于我来说,这段代码工作正常,请将确切日期设置为毫秒,然后按如下方式尝试:-

    GregorianCalendar dt = new GregorianCalendar();
    dt.setTimeInMillis(getTimestampDDmmYYYY(date).getTime());
    if((dt.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY| dt.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY))
        return true;
谢谢,
Prabhat Kumar Kashyap

cal.DAY_OF u_周==cal.SATURDAY ||每周的校准日=校准星期六


应该足够好了。

我很惊讶还没有人建议使用Joda Time。。。它是处理日期/时间的更好的API。