要求,判断某个月的最后一天是不是今天,如果是返回0,如果不是返回1。

解决方案 »

  1.   

    转化一下思路,判断明天是不是下一个月的第一天就可以了。public boolean isLast(){
       //返回值
       boolean isLast = false;   //获得当前的月份
       Calendar cal = Calendar.getInstance();
       int month = cal.get(Calendar.MONTH);
       
       //加上一天
       cal.add(Calendar.DAY_OF_MONTH, 1);
       //得到现在月份
       int curMonth = cal.get(Calendar.MONTH);
       
       //如果两个相差一个月
       if((curMonth - month) == 1) {
        isLast = false;
       }   return isLast;
    }
      

  2.   

    if((curMonth - month) == 1) {
        isLast = false;
    }这个少了一种情况,就是当前日期是12月31号,楼主自己判断一下吧
      

  3.   

    [Q]怎么获得今天是星期几,还关于其它日期函数用法
    [A]可以用to_char来解决,如
    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
    在获取之前可以设置日期语言,如
    ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
    还可以在函数中指定
    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
    其它更多用法,可以参考to_char与to_date函数
    如获得完整的时间格式
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
    随便介绍几个其它函数的用法:
    本月的天数
    SELECT to_char(last_day(SYSDATE),'dd') days FROM dual
    今年的天数
    select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
    下个星期一的日期
    SELECT Next_day(SYSDATE,'monday') FROM dual
      

  4.   

    //获得这个月最大天数
    java.util.Calendar date = java.util.Calendar.getInstance();
    date.getActualMaximum(date.DAY_OF_MONTH);
    //随便比较一下就好了
      

  5.   

    我给你提供一个方法:  int year,year1,month,month1,day1;
       //返回月份最后一天的天数(你得传入这个月的 年份year,月份month),如果知道的话那  //就更好了,就不用checkMonth(,,)函数,直接把下面的year,month,day换成常数就ok了
       public int checkMonth(int year,int month)
       {
           GregorianCalendar gregoriangalendar = new GregorianCalendar();
           if(month==1 | month==3 | month==5 | month==7 | month==8 | month==10 | month==12)
               return 31;
           if(month==4 | month==6 | month==9 | month==11)
               return 30;
           else
           {
               //要是闰年的话就是29天
               if(gregoriangalendar.isLeapYear(year))
                   return 29;
               else
                   return 28;
           }
       }   //返回当前时间的一个数组
       public static int[] getNowDate()
       {
           int[] nowdate = {0,0,0};
           GregorianCalendar gregoriangalendar = new GregorianCalendar();
           int year1 = gregoriangalendar.get(GregorianCalendar.YEAR);
           int month1 = gregoriangalendar.get(GregorianCalendar.MONTH)+1;
           int day1 = gregoriangalendar.get(GregorianCalendar.DAY_OF_MONTH);
           nowdate[0]=year;
           nowdate[1]=month;
           nowdate[2]=day;
           return nowdate;
       }//再判断你的时间和当前时间是否是匹配的
    public int checkDate(){
       int[] getnowdate = this.getNowDate();
       if(year=getnowdate[0] && month=getnowdate[1] && day=[2])
         return 1;
       else
         return 0;
      }
    //这样做肯定能够判断的出来