Java中不同时区之间的日历转换

时间:2013-03-06 16:42:32

标签: java

我想在java中的两个时区之间转换日历对​​象。我应该传递第一个日历对象,并希望输出是具有不同时区的修改日历对象。

有人能为我提供一个如何做到这一点的方法吗?

这就是我所做的......

DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
GregorianCalendar pst = new GregorianCalendar();
GregorianCalendar est = new GregorianCalendar();
pst.setTime(maintWindow);
int year = pst.get(Calendar.YEAR);
int month = pst.get(Calendar.MONTH);
int day = pst.get(Calendar.DAY_OF_MONTH);
format.setTimeZone(timeZone);
pst.set(year, month, day, hour, min);
Date date = pst.getTime();
logger.info(date);
logger.info(format.format(date));
logger.info(pst.getTime());
est.setTimeInMillis(date.getTime());
logger.info(est.getTime());

1 个答案:

答案 0 :(得分:0)

您可以使用Calendar.setTimeZone

例如,如果您使用任何时区初始化Calendar引用cal,则调用此类方法

cal.setTimeZone(TimeZone.getTimeZone("GMT"))

cal的时区修改为GMT