天天看點

SimpleDateFormat使用

用于将Date轉為String(了解為時間的格式化輸出) 或者将String轉為Date(了解為時間的格式化解析)

不管是格式化輸出還是格式化解析,都需要提供可以識别的格式。一般來說yyyy-MM-dd hh:mm:ss就可以滿足大部分的需求了。

不過為了友善,API提供了getDateInstance() getDateTimeInstance()和getTimeInstance三個常用的已經格式化好的接口。分别對應三種格式為:

另外若是不知道格式,可以使用getBestDateTimePattern得到推薦的格式。

一個SimpleDateFormat執行個體必須有TimeZone資訊,Date執行個體隻是一個UTC時間。

需要為SimpleDateFormat提供TimeZone,才能正确解析Date或者格式化輸出。若沒有提供則使用系統目前的TimeZone設定。

example:

      // TODO Auto-generated method stub

      String str = "2009-02-15 09:21:35.345";

      SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");

      SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 hh時mm分ss秒SSS毫秒");

      Date date = sdf1.parse(str);//提取格式中的日期

      System.out.println("轉換之前的日期:"+date);

      String newStr = sdf2.format(date); //改變格式

      System.out.println("轉換之後的日期:"+newStr);