java中的线程级别区域设置

时间:2013-06-13 08:20:06

标签: java date datetime calendar locale

我正在尝试在线程级别设置时区设置。对于此前我使用日期和日历对象,所有这些对象返回相同的日期时间。我在JVM级别上看到了语言环境设置,但我从未在线程级别使用区域设置,即如果我创建同一类的三个不同线程,我希望每个线程遵循不同的区域设置,尤其是TimeZones。

所以每当我打电话

Date d = new Date();

Calendar c = Calendar.getInstance();

我应该能够根据区域设置获得不同的日期时间。

1 个答案:

答案 0 :(得分:1)

您可以使用ThreadLocal个对象来实现此目的。创建ThreadLocal类型的Locale对象,如ThreadLocal<Locale>将具有线程局部Locale对象,可用于获取Calendar对象的实例Calendar#getInstance(Locale)