我在使用Java格式化日期時遇到問題。日期格式化程序似乎使用BST(英國夏令時)分析我的字符串,而不是以下代碼中dateStr字符串中+0000定義的GMT + 0。格式化日期爲Java
String dateStr = "Tue Oct 02 01:06:00 +0000 2012";
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy");
Date date = df.parse(dateStr);
// Test the date
System.out.println(date.toString());
當我運行上面的代碼我得到:
Tue Oct 02 02:06:00 BST 2012
這顯然不是我想要的。一個有用的信息點可能是,當我運行以下命令:
System.out.println(TimeZone.getDefault().getDisplayName());
我得到:
Greenwich Mean Time
我試圖讓輸出是
Tue Oct 02 01:06:00 GMT 2012
我已經已經在df上嘗試過.setTimeZone,但無濟於事。
您的意思是在您的預期輸出中說GMT嗎?你說BST似乎與你的討論相矛盾。 –
Woops。是!編輯它。 –