我的当前时区为,
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。如果是,那该怎么办?
答案 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以获得小时数的偏移量。