Я получаю текущий часовой пояс как,
String defaultTimeZone = ""+TimeZone.getDefault();
Теперь я хочу получить время, которое я использую,
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
например, если currentTimeZone = "Calcutta", тогда его время равно +0530, что будет похоже на
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss +0530");
Я использую API Java1.4 и RIM, в Java 1.5 вы можете написать как «гггг-ММ-дд ЧЧ: мм: сс Z», чтобы получить «+0530»
Так как же это сделать в Java 1.4?
Я проверял, используя,
boolean isDayLightSavings = _timeZone.useDaylightTime();
if(isDayLightSavings)
{
gmtOffset = _timeZone.getOffset(1, _calendar.get(Calendar.YEAR), _calendar.get(Calendar.MONTH), _calendar.get(Calendar.DATE), _calendar.get(Calendar.DAY_OF_WEEK), _calendar.get(Calendar.MILLISECOND));
}
но тот же результат, что и приходящий на 1 час вперед / назад для часовых поясов, использующих летнее время.
(т.е. для часовых поясов, использующих DST, устройство Blackberry не использует DST, когда я использую getOffset (..))
Так что я должен включить DST на устройстве BB. Если да, то как это сделать?