比如说我们要创建一个日历对象:
Calendar cInstance = Calendar.getInstance();
cInstance.set(year, month - 1, day);加入年月日这三个字段是作为参数传进去的,我们如何保证可以生成一个合法的日历呢,
比方说2013-03-65 这样的,肯定就不能生成一个合法的日历了吧,我们如何去校验这些参数呢,请指教,谢谢啦!

解决方案 »

  1.   

    cInstance.set(Calendar.YEAR,year);
    cInstance.set(Calendar.MONTH,month);
    cInstance.set(Calendar.DAY_OF_MONTH,day);
    这样赋值呀
      

  2.   

    这个方法这是什么嘛
    这个决定了对输入数据的处理,如 2012 3 43, 设置了true或false后结果就不一样了。
      

  3.   

    这个方法这是什么嘛
    这个决定了对输入数据的处理,如 2012 3 43, 设置了true或false后结果就不一样了。
    嗯,谢谢 。默认时间是宽松的,但是打个比方说,cInstance.set(2013,1,32) 默认会认为是合法的,它相当于2013年的63天,和cInstance.set(2013,2,4)对应的天数是一样的,这个怎么搞呢。如果遍历一年的日期岂不是会出现问题呀,还是我算法不合适?
      

  4.   

    calendar确实对于时间是很宽松的,会根据时间换算成实际的真实存在的日期