用于将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);