我的yyyy/mm/dd hh:mm:ss
格式的日期格式为GMT
。我想将日期从GMT
格式转换为BST
时间。最简单的方法是什么?
答案 0 :(得分:3)
使用Java 8,最简单的方法可能是:
示例示例:
String date = "2015/03/09 10:32:00";
LocalDateTime gmt = LocalDateTime.parse(date, DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"));
ZonedDateTime instant = ZonedDateTime.of(gmt, ZoneId.of("GMT"));
LocalDateTime bst = instant.withZoneSameInstant(ZoneId.of("Europe/London")).toLocalDateTime();
System.out.println(bst);
例如,如果您将月份更改为7月,则应按预期看到一小时的偏移量。
(我认为BST是英国的夏令时 - 它也可能是孟加拉国标准时间:一般来说,最好使用时区的全名来避免含糊不清)。