我正在尝试在线程级别设置时区设置。对于此前我使用日期和日历对象,所有这些对象返回相同的日期时间。我在JVM级别上看到了语言环境设置,但我从未在线程级别使用区域设置,即如果我创建同一类的三个不同线程,我希望每个线程遵循不同的区域设置,尤其是TimeZones。
所以每当我打电话
Date d = new Date();
或
Calendar c = Calendar.getInstance();
我应该能够根据区域设置获得不同的日期时间。
答案 0 :(得分:1)
您可以使用ThreadLocal个对象来实现此目的。创建ThreadLocal
类型的Locale
对象,如ThreadLocal<Locale>
将具有线程局部Locale
对象,可用于获取Calendar
对象的实例Calendar#getInstance(Locale)。