http://community.csdn.net/Expert/topic/3587/3587481.xml?temp=.3989832
自己看看吧

解决方案 »

  1.   

    <%
       Calendar cal = Calendar.getInstance();
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       String mDateTime=formatter.format(cal.getTime());
       String charyear=mDateTime.substring(0,4);
       String charmonth=mDateTime.substring(5,7);
       String chardate=mDateTime.substring(8,10);
       
    %>
      

  2.   

    还是不行,那么Calendar是个什么样的类?可以给个相关的说明解释我吗?
      

  3.   

    要在jsp里把这两个包进去java.util.Calendar;java.util.GregorianCalendar;
      

  4.   

    第二个问题解决了,现在只需要第一个问题的答案
    如果时间是2004-03-06格式,我要在月份那部分加上数字,在jsp里面有没有相关的日期函数? 我最终目的是把打后的日期插入sql2000数据库.
      

  5.   

    第一个问题就用Calendar类啊,可以分别区出一个时间的年\月\日等字段的,之后再进行处理
      

  6.   

    那么帮我看一下下面的程序哪里出错? 目的是返回相加天数后的日期
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       Calendar cal = Calendar.getInstance();
       String mDateTime=formatter.format(cal.getTime());
       String date1=mDateTime.add(cal.DATE, 5);
    错误只有一个,如下:
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\footballweb\test_jsp.java:110: cannot resolve symbol
    symbol  : method add (int,int)
    location: class java.lang.String
       String date1=mDateTime.add(cal.DATE, 5);
    要怎么改呢?
      

  7.   


      Calendar aCalendar=new Calendar()
    aCalendar.setTime(mDate);        //使用相关SET方法将时间转为Calendar类的对象,这个是  将一个DATE类型转为Calendar.
    int i=aCalendar.get(Calendar.Date)+2;//取出日信息进行运算
    aCalendar.set(2,i);//使用SET方法设置日期,此处2代表设置日.
      

  8.   

    上面aCalendar.set(2,i);这里的2可能错了,应该是3,最好还是用Calendar.Date,这个返回的就是代表日的对应值.
    你的程序里,使用add(cal.DATE, 5)这里有问题,cal.DATE返回的应该是Calendar类中代表日期的field值,不是你那个日期的日,还有String mDateTime这里类型错误,字符串类型是没有ADD方法的,你用错了
      

  9.   

    你的方法可以这样改:
     
       Calendar cal = Calendar.getInstance();
      
       cal.add(Calendar .DATE, 5);//该方法实现对日的增加
    不过我没看到你对变量cal进行赋值.应该用SET方法将你的日期赋给cal.
      

  10.   

    那么我要输出增加后的日期,是应该负给date类型?
      

  11.   

    增加后怎么输入,因为cal.add(Calendar .DATE, 5);没返回值的
      

  12.   

    你怎么不在sql语句里在时间相加,反正你是主要存进数据库阿~
    sql里有专门方法处理时间相加~
      

  13.   

    多谢lidi3503(天王),问题解决了,不过还有一个就是cal.add(Calendar .DATE, 5)着个5可不可以当一个变量参数输入。也就是如下:
    int a=5;
    cal.add(Calendar .DATE, a);这样会出现错误,我要达到同样的效果要怎么办呢?
      

  14.   

    yellowwee(端木柒) ,感谢你,因为在sql 里面加后只能返回相加后的列,而我要的是通过时间列返回所有表里的列
      

  15.   

    自己再顶,问题还未解决,
    就是cal.add(Calendar .DATE, 5)着个5可不可以当一个变量参数输入。也就是如下:
    int a=5;
    cal.add(Calendar .DATE, a);这样会出现错误,我要达到同样的效果要怎么办呢?
      

  16.   

    不行,int a=5;
    cal.add(Calendar .DATE, a);这样会出现错误