我想在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());
答案 0 :(得分:0)
您可以使用Calendar.setTimeZone
。
例如,如果您使用任何时区初始化Calendar
引用cal
,则调用此类方法
cal.setTimeZone(TimeZone.getTimeZone("GMT"))
将cal
的时区修改为GMT
。