java日期格式化、解析


http://blog.csdn.net/wkupaochuan/article/details/7663276 

今天移植別人的通用工具類,涉及到了日期的格式化、解析,學習結果記錄如下。

        日期的格式化器普用的是SimpleDateFormat,它繼承了了DateFormat。SimpleDateFormat為用戶提供了更多的控制功能,更靈活。

        但是有兩點需要注意:使用SimpleDateFormat解析字符串日期的時候要放入一個try代碼塊,以防遇到特殊的日期格式拋出異常;獲取SimpleDateFormat實例的時候最好使用DateFormat的getTimeInstance、getDateInstance 或getDateTimeInstance類方法來獲取。因為new一個SimpleDateFormat不適用於所有的地區,在國際化的時候會遇到問題,當然這個問題很難遇到了,但是還是小心為好。

   總結一下SimpleDateFormat的用法其實很簡單:建立格式器(SimpleDateFormat)DateFormat.getDateInstance()--->添加格式applyPattern(pattern)--->格式化、解析日期format(Date)、parse(String)。

public class DateFormat_test {  

      

    public static void main (String agrs[])  

    {  

        //獲取當前時間  

        Date dNow = new Date();  

        //建立日期格式化器,這里是獲取的默認語言環境、默認格式的格式器  

        SimpleDateFormat df = (SimpleDateFormat)DateFormat.getDateInstance();  

          

          

        /*格式化日期,並輸出*/  

        //最普遍的格式  

        df.applyPattern("yyyy-MM-dd HH:mm:ss");  

        System.out.println("最普遍的格式:  " + df.format(dNow));  

        //年份儉省格式  

        df.applyPattern("yy-MM-dd HH:mm:ss");  

        System.out.println("年份儉省格式:  " + df.format(dNow));  

        //省略年份和具體時間格式  

        df.applyPattern("MM-dd");  

        System.out.println("省略年份和具體時間格式:  " + df.format(dNow));  

        //采用12小時制格式  

        df.applyPattern("yyyy-MM-dd hh:mm:ss");  

        System.out.println("采用12小時制格式:  " + df.format(dNow));  

        //省去個位數時前面的0格式  

        df.applyPattern("yyyy-m-dd h:mm:ss");  

        System.out.println("省去個位數時前面的0格式:  " + df.format(dNow));  

        //更為自由的格式,嵌入字符、換行等,字符要用''包含  

        df.applyPattern("yyyy'年'M'月'd'日'\nh'時'm'分'mm'秒'");  

        System.out.println("更為自由的格式,嵌入字符、換行等:\n"   

                + df.format(dNow) + "\n\n\n");  

          

          

        /*解析字符串日期*/  

        String dTest = "2012-09-10";  

        //這里的異常處理是必須、必要的,防止出現特殊格式的字符串日期  

        try   

        {  

            /*將字符串轉化為Date類型時,要注意df的格式與字符串日期的格式保持一致, 

             * 否則拋出異常 

             * */  

            df.applyPattern("yyyy-MM-dd");  

            Date ddTest = df.parse(dTest);  

            //這里輸出的日期仍然是默認格式,而非之前設定的格式  

            System.out.println(ddTest);  

        }  

        catch (ParseException e)   

        {  

            // TODO Auto-generated catch block  

            e.printStackTrace();  

        }  

    }  

  

}  

上述程序運行結果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM