天天看點

将西方形式的日期字元串轉換成java.util.Date對象

java.util.Date類的toString()方法預設生成"FriMay 04 17:25:34 CST 2012"形式的字元串,但從這樣的字元串生成java.util.Data對象卻不那麼自然,解決辦法是構造SimpleDateFormat對象時傳入Locale(Locale.US可以,但Locale.China不行):

Date a = new Date();  

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);  

String dateString = a.toString();  

System.out.println("待轉換的日期字元串為:" + dateString);  

Date parsedDate = sdf.parse(dateString);  

System.out.println("轉換結果:" + parsedDate.toString());  

上述代碼輸出結果如下:

待轉換的日期字元串為:Fri May 0417:25:34 CST 2012

轉換結果:Fri May 04 17:25:34CST 2012

記得帶上 Locale.US 參數,否則, JRE 會按照目前地區的語言格式來解釋,就會出錯。