数据库里的项是string型,(表结构不能改)
需要取得date型数据,我调用了如下方法,String acceptStartDate1 =
            findBySqlFileSingleResult(
                String.class,
                SELECT_ACCEPT_START_DATE_SQL,
                dto);
        SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
        Date acceptStartDate = null;
        try {
            acceptStartDate = sd.parse(acceptStartDate1);
        } catch (ParseException e) {
            e.printStackTrace();但还是提示出错:
"システム例外が発生しました。例外:java.lang.IllegalArgumentException Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]"
求大牛解

解决方案 »

  1.   


    SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss[.S]");
      

  2.   

    <quote>
     SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
    </quote>
    加不加最后毫秒那个貌似不是重点。日期格式 ("yyyy-MM-dd HH:mm:ss")改正先。
    楼主好运
      

  3.   

    SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");这个要改为:
    yyyy-MM-dd HH:mm:ss这个格式是支持24小时的。。也就是下午两点显示为14:00:00点
    yyyy-MM-dd hh:mm:ss这个格式是支持12小时的。。也就是下午两点显示为02:00:00点
      

  4.   

    。日期格式 ("yyyy-MM-dd HH:mm:ss")改正先。
      

  5.   

    你的数据库里是varchar吗?   看着不像啊!    是Timestap的吗?
      

  6.   

    日期格式 ("yyyy-MM-dd HH:mm:ss"),这才是支持24小时的好么。问一下,楼主用的是日语版的システム吧?
      

  7.   

    Format格式已改,但还是有问题

    java.text.ParseException: Unparseable date: "19970701120000"
    at java.text.DateFormat.parse(DateFormat.java:337)”
    莫非我造的数据有问题?
      

  8.   

    java.text.ParseException: Unparseable date: "19970701120000"
    at java.text.DateFormat.parse(DateFormat.java:337)”你库中的数据有问题啊 , 转换都是 xxxx-xx-xx xx:xx:xx.xxx   你先把19970701120000--> 1997-07-01 12:00:00 然后在用DateFromat.parse(); 
      

  9.   


    +1或者SimpleDateFormat sd = new SimpleDateFormat("yyyymmddHHmmss");
      

  10.   

    在数据库里 用 TO_DATE 函数也可以呀
      

  11.   

    还有一个List的类型转换,warning处该怎么改呢?public List<Date> selectEndDate(String companyCd, String warehouseCd,
                String itemCd, String stockUnitCd) {        // パラメータ作成
            AcceptJudgeResultSalesPeriodJudgeSelectParamDto dto =
                new AcceptJudgeResultSalesPeriodJudgeSelectParamDto();        dto.setCompanyCd(companyCd);
            dto.setWarehouseCd(warehouseCd);
            dto.setItemCd(itemCd);
            dto.setStockUnitCd(stockUnitCd);        List<String> result1 = findBySqlFile(String.class, SELECT_END_DATE_SQL, dto);
            SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss");
            List<Date> result = null;
            try {
                result = (List<Date>) sd.parse(result1.get(0));
            } catch (ParseException e) {
                e.printStackTrace();
            }        return result;
        }
      

  12.   

    用了个挺冗余的方法,感觉很水,有木有人提供点简洁的途径?
    List<String> result1 =
                findBySqlFile(String.class, SELECT_END_DATE_SQL, dto);
            SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss");
            Date result2=null;
            Date result3=null;
            List<Date> result = new ArrayList<Date>();
            try {
                result2 = sd.parse(result1.get(0));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            try {
                result3 = sd.parse(result1.get(1));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            result.add(0,result2);
            result.add(1, result3);        return result;
      

  13.   


    List<String> result1 =
      findBySqlFile(String.class, SELECT_END_DATE_SQL, dto);
      SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss");
      Date result2=null;
      Date result3=null;
      List<Date> result = new ArrayList<Date>();
      try {
      result2 = sd.parse(result1.get(0));
      result3 = sd.parse(result1.get(1));
      } catch (ParseException e) {
      e.printStackTrace();
      }
      result.add(0,result2);
      result.add(1, result3);  return result;这样看 会好些吧
      

  14.   

    可以在数据库查询sql语句中就转为date型,例如select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual// 
      

  15.   

    纳品代码,可参考一下
        public List<Date> selectEndDate(String companyCd, String warehouseCd,
                String itemCd, String stockUnitCd) {        // パラメータ作成
            AcceptJudgeResultSalesPeriodJudgeSelectParamDto dto =
                new AcceptJudgeResultSalesPeriodJudgeSelectParamDto();        dto.setCompanyCd(companyCd);
            dto.setWarehouseCd(warehouseCd);
            dto.setItemCd(itemCd);
            dto.setStockUnitCd(stockUnitCd);        List<BeanMap> result1 =
                findBySqlFile(BeanMap.class, SELECT_END_DATE_SQL, dto);        if (CollectionsUtil.isEmpty(result1)) {            return null;
            }        BeanMap beanMap = result1.get(0);        // 受注終了日
            Date acceptEndDate =
                DateUtil.toDateType(StringUtil.toString(beanMap
                    .get("acceptenddate")));        // 出荷終了日
            Date shipmentEndDate =
                DateUtil.toDateType(StringUtil.toString(beanMap
                    .get("shipmentenddate")));        List<Date> result = new ArrayList<Date>();
            result.add(acceptEndDate);
            result.add(shipmentEndDate);        return result;
        }