将字符串转成时间指定格式的函数

import java.text.DateFormat; 

import java.text.ParseException; 

import java.text.SimpleDateFormat; 

import java.util.Date; 

 

publicclass Test { 

    /** 

     * 测试类main方法 <br>

     * Author:BluesLee <br>

     * CreateDate:2008-9-23 <br>

     * Modifier:BluesLee <br>

     * ModifyDate:2008-9-23 <br>

     * Version:1.1<br>

     * All right reserved.<br>

     *

     * @param args

     */ 

    publicstaticvoid main(String[] args) { 

        Test test=new Test(); 

        try

            System.out.println(test.parseStringToDate("03/2-3 03小时3:3").toLocaleString()); 

        } catch (ParseException e) { 

            // TODO Auto-generated catch block  

            e.printStackTrace(); 

        } 

    } 

    /**

     * 将未指定格式的日期字符串转化成java.util.Date类型日期对象 <br>

     * Author:BluesLee <br>

     * CreateDate:2008-9-25 <br>

     * Modifier:BluesLee <br>

     * ModifyDate:2008-9-25 <br>

     * Version:1.1<br>

     * All right reserved.<br>

     *

     * @param date,待转换的日期字符串

     * @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; 

    } 

posted @ 2013-04-13 08:57  刺风专属  阅读(412)  评论(0)    收藏  举报