任务是在BIRT中将日期时间从一个时区转换为另一个时区。
具体来说,它与动态日期有关。例如,报告运行的地方,有一个报告参数,如“订单日期”=“今天”。 我们所有的服务器都在GMT时区运行。因此,当报告在“格林威治标准时间2016年3月16日凌晨2点”运行时,在“America / New_York”中,它仍然是“2016年3月15日”。
当用户登录Actuate UI时,提供用户的时区
这些时区由java“理解”。我可以很容易地把目前的时间用在格林威治标准时间,然后把它转换成“America / New_York”并确定这个时区的“今天”是什么日期:
Calendar c = Calendar.getInstance(TimeZone.getTimeZone(“GMT”));
c.setTime(new Date());
c.setTimeZone(TimeZone.getTimeZone("America/New_York"));
因此,我需要将GMT日期时间转换为用户时区的可靠方法。