-2

我想在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());
4

1 回答 1

0

您可以使用Calendar.setTimeZone.

例如,如果您有一个使用任何时区初始化的Calendar引用cal,则调用这样的方法

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

cal修改to的时区GMT

于 2013-03-06T16:45:06.953 回答