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 會按照目前地區的語言格式來解釋,就會出錯。