import java.text.DateFormat;<br /> import java.text.ParseException;<br /> import java.text.SimpleDateFormat;<br /> import java.util.Date; </p><p> public class Test { </p><p> /**<br /> * 測試類別main方法 <br><br /> * Author:BluesLee <br><br /> * CreateDate:2008-9-23 <br><br /> * Modifier:BluesLee <br><br /> * ModifyDate:2008-9-23 <br><br /> * Version:1.1<br><br /> * All right reserved.<br><br /> *<br /> * @param args<br /> */<br /> public static void main(String[] args) {<br /> Test test=new Test();<br /> try {<br /> System.out.println(test.parseStringToDate("03/2-3 03小時3:3").toLocaleString());<br /> } catch (ParseException e) {<br /> // TODO Auto-generated catch block<br /> e.printStackTrace();<br /> }<br /> }<br /> /**<br /> * 將未指定格式的日期文字轉化成java.util.Date類型日期對象 <br><br /> * Author:BluesLee <br><br /> * CreateDate:2008-9-25 <br><br /> * Modifier:BluesLee <br><br /> * ModifyDate:2008-9-25 <br><br /> * Version:1.1<br><br /> * All right reserved.<br><br /> *<br /> * @param date,待轉換的日期文字<br /> * @return<br /> * @throws ParseException<br /> */<br /> public Date parseStringToDate(String date) throws ParseException{<br /> Date result=null;<br /> String parse=date;<br /> parse=parse.replaceFirst("^[0-9]{4}([^0-9]?)", "yyyy$1");<br /> parse=parse.replaceFirst("^[0-9]{2}([^0-9]?)", "yy$1");<br /> parse=parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1MM$2");<br /> parse=parse.replaceFirst("([^0-9]?)[0-9]{1,2}( ?)", "$1dd$2");<br /> parse=parse.replaceFirst("( )[0-9]{1,2}([^0-9]?)", "$1HH$2");<br /> parse=parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1mm$2");<br /> parse=parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1ss$2"); </p><p> DateFormat format=new SimpleDateFormat(parse); </p><p> result=format.parse(date); </p><p> return result;<br /> }<br />}<br />
http://linshiquan.javaeye.com/blog/280298