我在使用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。是!编辑它。 –