指定格式的日期字符串轉(zhuǎn)化成java.util.Date類型日期對(duì)象

字號(hào):

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