【发布时间】:2020-01-09 08:58:36
【问题描述】:
我有一个日期时间字符串,我需要将其转换为 UTC 格式。我使用了下面的代码。
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy HH:mm a",Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));
try {
Date date = format.parse("09/06/19 06:39 pm");
System.out.println(date);
selectedDateForApi=date.toString();
} catch (ParseException e) {
e.printStackTrace();
}
Output: Fri Sep 06 12:09:00 GMT+05:30 2019
输出比实际时间少 1 小时。 it should be Fri Sep 06 13:09:00 GMT+05:30 2019.
我做错了什么?
【问题讨论】:
-
英国夏令时 +1 小时
-
@JakeB,请解释您的评论,以及我需要在哪里添加 +1
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
@JakeB 提问者似乎没有使用 BST,无论如何问题出在其他地方。