String a=“20111111”;
转化成 Date b=“20111111”;
如果a=“00000000”,因为它不符合日期格式,所以这样的不能转换!
不要告诉我用
SimpleDateFormat formart=new SimpleDateFormat("yyyyMMdd");
Date b= formart.formart(formart.parse(a));
因为这样只要是数字类型的都可以转换成相应的日期!
在线等!

解决方案 »

  1.   

    只要与String类型格式一样的日期,如果转换完的日期类型,不是正确的日期,就不能够转换!
      

  2.   

    没搞懂楼主的问题结症究竟在哪里,据我了解,SimpleDateFormat是不能将“00000”这样的字符串解析为Date对象的,因为会出现java.text.ParseException: Unparseable date: "000000"所以下列代码应该符合你的原始需求:    public static Date parseDate(String strDate) {
            SimpleDateFormat formart=new SimpleDateFormat("yyyyMMdd");
            try {
                return formart.parse("000000");
            } catch (ParseException e) {
            }
            return null;
        }
      

  3.   

    你试一下8位的数字! 是不会出错了,这个会出错是因为我我定义的formart的格式是8位的  而你的数字是6位的! 所以出错!
      

  4.   

    原来如此,有意思啊。那么延伸一步,在跟自己做对碰好了:    public static Date parseDate(String strDate) {
            SimpleDateFormat formart=new SimpleDateFormat("yyyyMMdd");
            try {
                Date d = formart.parse("00000000");
                System.out.println(formart.format(d));
                if (formart.format(d).equals("00000000")) return d; 
            } catch (ParseException e) {
            }
            return null;
        }
      

  5.   

    刚才查了一下API,只要设置一下formart.setLenient(false);
    就可以实现了!  谢谢大家帮忙了!