我正在尝试将时区从UTC转换为GMT。我已经尝试了几次,甚至也使用了你的引导方法。我正在以GMT格式获得正确计时的输出,但随着“PDT 2012”一起编写。为什么这样..??我已经尝试了数百种方法,但无法摆脱它。
请帮帮我。
由于
答案 0 :(得分:2)
对于Java中的所有Date /或DateTime相关操作,我建议使用JodaTime Library
使用具有不同观点(日历,时区)的日期/时间以及计算是非常有用的:添加/减少月,年,日等等......
从Java 8开始,JodaTime的等效(改进)包含在新包java.time
(JSR-310)下的JDK中,不再需要将其添加为依赖项。
JodaTime的作者在blog中解释了JodaTime和JSR-310之间的区别。
答案 1 :(得分:1)
也许以下将是一个起点。它会将您当前的日期转换为GMT:
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime());
TimeZone currentTimeZone = cal.getTimeZone();
int offset = currentTimeZone.getOffset(cal.getTimeInMillis());
Date adjustedTime = new Date(cal.getTimeInMillis() - offset);
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(dateFormat.format(adjustedTime));
几点说明: