如何获取当前TimeZone的时间格式?

时间:2009-10-28 16:43:32

标签: blackberry java-me blackberry-storm

我的当前时区为,

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");

我正在使用Java1.4& RIM API,在Java 1.5中你可以写成“yyyy-MM-dd HH:mm:ss 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));
}

但与使用DST的TimeZones向前/向后1小时相同的结果。 (即对于使用DST的TimeZones,当我使用getOffset(..)时,Blackberry设备没有使用DST)

我应该在BB设备中启用DST。如果是,那该怎么办?

2 个答案:

答案 0 :(得分:0)

这个怎么样

Calendar cal = Calendar.getInstance();
return cal.getTimeZone();

公历对日期/时间的所有事情都非常方便。

答案 1 :(得分:0)

更具体一点,试试这个:

  

日历cal = Calendar.getInstance();
  TimeZone timeZone = cal.getTimeZone();
  int rawOffset = timeZone.getRawOffset();

原始偏移量以毫秒为单位。除以3,600,000以获得小时数的偏移量。