我的字符串格式的時間戳記爲「2017年2月23日星期四04:56:38 GMT」。那麼,如何將此字符串時間戳轉換爲「2017-02-23 04:56:38.0」格式。我試過鏈接java converting date in string format to timestamp。但面臨轉換錯誤。 我的示例代碼如下。如何將字符串時間戳轉換爲java.sql.Timestamp?
String str = "Thu, 23 Feb 2017 04:56:38 GMT";
SimpleDateFormat sdf1 = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss a");
Date date = null;
try {
date = (Date) sdf1.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Date Object:" + date);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("Formatted Date:" + sdf2.format(date));
錯誤:java.text.ParseException:無法解析的日期: 「星期四,2017年2月23日四點56分38秒GMT」 在java.text.DateFormat.parse(DateFormat.java:366)
[SimpleDateFormatter](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)> a | Am/pm marker |文字| PM,所以你使用AM/PM標記來解析時區... – Fildor
@Fildor,你是對的。在simpleDateformat中將a更改爲z後,它工作正常。謝謝 – Jay
請參閱[我的答案](http://stackoverflow.com/a/39281606)上的重複問題。 –