我通过task.getCalendar()得到一个类型为Calendar的值,其中一个值是这样的:
task.getCalendar() = java.util.GregorianCalendar[time=1212969600000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,
zone=sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],
firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2008,MONTH=5,WEEK_OF_YEAR=24,WEEK_OF_MONTH=2,DAY_OF_MONTH=9,DAY_OF_YEAR=161,DAY_OF_WEEK=2,
DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=0,DST_OFFSET=0]Calendar b =  task.getCalendar(); //把值赋给b 为了方便啊
按道理b.DATE b.DAY_OF_WEEK b.DAY_OF_MONTH b.DAY_OF_YEAR都会可以拿到上面的对应值啊,可是拿到的都是错误的。
更奇怪的是无论task.getCalendar()的值如何变化
b.DATE b.DAY_OF_WEEK b.DAY_OF_MONTH b.DAY_OF_YEAR这几个值就是不变。
谁知道这是什么原因啊。
小弟在这里谢过了!!! 大家周末愉快

解决方案 »

  1.   

    Date b=task.getTime();
    String str=b.toString;//str就是当前系统的时间,用字符串表示
    楼主试试这句,能不能得到你要的时间。
    如果要修改时间的输出格式,试试SimpleDateFormat类,配合Calendar类使用,可以得到任何你想要的时间格式。
      

  2.   

    b.DATE b.DAY_OF_WEEK b.DAY_OF_MONTH b.DAY_OF_YEAR这几个值就是不变。 
    这几个值是常量,不会变的,
    你如果需要得到Dateb.get(Calendar.DATE);
    ...
    其余类似
      

  3.   

    额,楼上貌似没看懂我的问题哦
    时间是可以取到的 不过Calendar的DAY_OF_WEEK DAY_OF_MONTH这些属性还是有特殊作用的
    我需要他们。。 但他们不起作用
      

  4.   

    我想要的是:
    比如2008-5-9 它是一周之中的第几天 一个月中的第几天 一年中的第几天  应该怎么做哪 我看里面都有啊
    WEEK_OF_YEAR=24,WEEK_OF_MONTH=2,DAY_OF_MONTH=9,DAY_OF_YEAR=161,DAY_OF_WEEK=2,
    DAY_OF_WEEK_IN_MONTH=2
      

  5.   

    to 堕落佛 3Q我领悟的太慢了 =。=!! 
      

  6.   

    怎么说呢,那几个值都是Calendar中的常量,是不会变的
      

  7.   

    4楼正解
    import java.util.Calendar;public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) {
    Calendar c = Calendar.getInstance();
    System.out.println(c.get(Calendar.YEAR) + "年"
    + c.get(Calendar.MONTH) + "月"
    + c.get(Calendar.MONTH) + "日  "
    + c.get(Calendar.HOUR) + ":"
    + c.get(Calendar.MINUTE) + ":"
    + c.get(Calendar.SECOND));
    }
    }
    输出:2008年5月5日  5:35:23
      

  8.   

    Calendar.toString 得到文本中的大写形式与相应常量名相同是为了说明相应的值可以使用 Calendar.get(Calendar.XXX); 的方式得到。
      

  9.   

    楼主可以看下Calendar 的源码,其实是个比较简单的javabean,你自己写的类不是也有set和get方法吗,Calendar 也是一样,没什么特别的,只不过sun认为把所有的取时间的各种方法都写出来太没必要了,所以把取时间和改时间的方法简化了,程序员通过一些约定的字段改变或获取时间。