刚参加工作的时候遇到这么一种情况,有一个字段是存储的日期,但是类型是varchar2
问题是里面的日期格式有yyyy-MM-dd和dd-MMM-yy和long型,后来灵机一动想到用异常处理机制来处理这三种情况。但是最终由于异常处理很占用内存效率很差,被leader告知不要用,偶然翻到了就记录下来吧。
1 package com.test.date; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Date; 6 7 public class SdfTest { 8 public static void main(String[] args) throws ParseException { 9 //String aaa = "2013-8-5"; 10 //String aaa = "1312332123"; 11 String aaa = "25-Mar-2010"; 12 Date a; 13 try { 14 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 15 a = sdf.parse(aaa); 16 } catch (ParseException e) { 17 try { 18 SimpleDateFormat sdfs = new SimpleDateFormat("dd-MMM-yy"); 19 a = sdfs.parse(aaa); 20 } catch (ParseException m) { 21 a = new Date(Long.parseLong(aaa)); 22 } 23 24 } 25 SimpleDateFormat sm =new SimpleDateFormat("dd-MM-yyyy"); 26 System.out.println(sm.format(a)); 27 28 } 29 }