相关疑难解决方法(0)

在解析之前确定String是否是有效日期

我有这种情况,我正在阅读包含存储为字符串字段的日期的130K记录.有些记录包含空格(nulls),有些包含这样的字符串:'dd-MMM-yy',有些包含'dd/MM/yyyy'.

我写了一个像这样的方法:

public Date parsedate(String date){

   if(date !== null){
      try{
        1. create a SimpleDateFormat object using 'dd-MMM-yy' as the pattern
        2. parse the date
        3. return the parsed date
      }catch(ParseException e){
          try{
              1. create a SimpleDateFormat object using 'dd/MM/yyy' as the pattern
              2. parse the date
              3. return parsed date
           }catch(ParseException e){
              return null
           }
      }
   }else{
      return null
   }

} 
Run Code Online (Sandbox Code Playgroud)

所以你可能已经发现了这个问题.我正在使用try .. catch作为我逻辑的一部分.最好是我可以事先确定String实际上包含某种格式的可解析日期然后尝试解析它.

那么,是否有一些API或库可以帮助解决这个问题?我不介意写几个不同的Parse类来处理不同的格式,然后创建一个工厂来选择正确的6,但是,我该如何确定哪一个?

谢谢.

java parsing date

13
推荐指数
3
解决办法
3万
查看次数

标签 统计

date ×1

java ×1

parsing ×1