我面临的问题是,只有在格林尼治标准时间+01:00格式化后才能加入一小时。
以下是我的表现:
private SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
// Change Start date according to the Locale time
formattor.setTimeZone(TimeZone.getTimeZone("GMT"));
date1 = formattor.parse("2015-03-26 11:17:41");
formattor.setTimeZone(TimeZone.getDefault());
String start = formattor.format(date1);
// Change End date according to the Locale time
formattor.setTimeZone(TimeZone.getTimeZone("GMT"));
date1 = formattor.parse("2015-03-26 13:17:00");
formattor.setTimeZone(TimeZone.getDefault());
String end = formattor.format(date1);
System.out.println(start + " - " + end);
} catch (ParseException e) {
e.printStackTrace();
}
输出:
2015-03-26 12:17:41 - 2015-03-26 14:17:00
我和Joda-Time面临同样的问题。
我已使用GMT+01:00, West Africa Standard Time
答案 0 :(得分:0)
这非常明显,因为你的getDefault()会将时区设为GMT + 01:00,因此你会看到同样的情况。如果这不是您所期望的,请重新构思问题。