描述:项目数据来源很多,虽已规范时间字段格式,但是还会有 如下格式字符串产生。
      yyyyMMdd
      yyyyMMddHH
      yyyyMMddHHmmss
      yyyyMMddHHmmss.ssss
      yyyyMMddHHmmss.ssss.zzzz
      yyyyMMddHHmmss.ssss.zzzz  代表 年月日时分秒 纳秒 时区
问题就产生了,小弟不想把这些类型一一放入数组中,交给dateUtils处理,希望写个方法能只是用yyyyMMddHHmmss.ssss.zzzz作为simpleFormat,数据无论是什么格式的字符串(不一定有时区)都依此来处理。
本来想时 字符串长度相减按格式补零,但是无时区的数据变成了无效的脏数据。
请问有没有小技巧能处理类似问题呢(以一敌百)?

解决方案 »

  1.   

    通过传的String长度来判断用那个
      

  2.   

    因为不止这些,不能每一种都用个长度啊~
    不好意思 后来想想还有种情况 就是yyyyMMddHH.zzzz 这种后面加时区的情况也有可能出现.
      

  3.   

    SimpleDateFormat 这个类可以对你以上的操作有用
    public boolean verifyDateFormat(String date) throws Exception{
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    java.util.Date d = sdf.parse(date);
    String str = sdf.format(d);
    if(str.equals(date)){
    return true;
    }
    return false;
    }
      

  4.   

    朋友,其实我问题的主旨是想问 如何提供一个技巧 能让那些较短格式的日期能使用定义好的最完整格式日期进行format。