將日期字串解析為日期對象
要將日期字串轉換為日期對象,SimpleDateFormat 類別提供了一個 parse 方法。但是,如果提供的模式與輸入日期字串不匹配,則會拋出 ParseException。
解決方案
在這種情況下,輸入日期字串包括「Thu " 和 "Sep",分別表示縮寫的日期和月份名稱。正確的模式應該對這些元素使用“EEE”和“MMM”。此外,語言環境必須明確地設定為英語,以避免特定於語言環境的問題。
已修正的代碼是:
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; import java.util.Locale; public class DateParser { public static void main(String[] args) throws ParseException { String target = "Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH); Date result = df.parse(target); System.out.println(result); } }
此程式碼列印正確的 Date對象,針對指定時區進行調整:
Thu Sep 28 07:29:30 BOT 2000
額外注意事項
解析日期字串時,您可能還需要考慮使用「HH」而不是「 kk”作為小時模式,因為它代表24 小時時間表示法。有關有效模式的更多信息,請參閱 SimpleDateFormat 文件。
以上是如何解析帶有縮寫日和月名稱的日期字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!