首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从不带TimeZone名称的TimeZone获取TimeZone偏移值

从不带TimeZone名称的TimeZone获取TimeZone偏移值
EN

Stack Overflow用户
提问于 2012-07-10 00:43:25
回答 7查看 145K关注 0票数 59

我需要以+/-hh:mm格式保存电话的时区

我使用TimeZone类来处理这个问题,但是我能得到的唯一格式是:

代码语言:javascript
复制
PST -05:00
GMT +02:00

我不希望子串结果,有没有键或选项标志,我可以设置为只获得值,而不是该时区的名称(GMT/CET/PST...)?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-07-10 00:46:01

我需要以+/-hh:mm格式保存电话的时区

不,你不需要。偏移量本身是不够的,你需要存储整个时区名称/id。例如,我住在奥斯陆,我现在的偏移量是+02:00,但在冬天(由于dst)它是+01:00。标准时间和夏季时间之间的确切切换取决于您不想探索的因素。

因此,与其存储+ 02:00 (或者应该是+ 01:00?)我将"Europe/Oslo"存储在我的数据库中。现在,我可以使用以下命令恢复完整配置:

代码语言:javascript
复制
TimeZone tz = TimeZone.getTimeZone("Europe/Oslo")

想知道我今天的时区偏移量是多少?

代码语言:javascript
复制
tz.getOffset(new Date().getTime()) / 1000 / 60   //yields +120 minutes

然而,12月份的情况是一样的:

代码语言:javascript
复制
Calendar christmas = new GregorianCalendar(2012, DECEMBER, 25);
tz.getOffset(christmas.getTimeInMillis()) / 1000 / 60   //yields +60 minutes

只需说:存储时区名称或id,每次您想要显示日期时,检查当前的偏移量(今天),而不是存储固定值。您可以使用TimeZone.getAvailableIDs()枚举所有支持的时区ID。

票数 104
EN

Stack Overflow用户

发布于 2013-05-22 06:53:10

@MrBean -我遇到了类似的情况,我不得不调用第三方web服务,并以+/-hh:mm的格式传入Android设备的当前时区偏移量。以下是我的解决方案:

代码语言:javascript
复制
public static String getCurrentTimezoneOffset() {

    TimeZone tz = TimeZone.getDefault();  
    Calendar cal = GregorianCalendar.getInstance(tz);
    int offsetInMillis = tz.getOffset(cal.getTimeInMillis());

    String offset = String.format("%02d:%02d", Math.abs(offsetInMillis / 3600000), Math.abs((offsetInMillis / 60000) % 60));
    offset = (offsetInMillis >= 0 ? "+" : "-") + offset;

    return offset;
} 
票数 73
EN

Stack Overflow用户

发布于 2017-12-08 02:50:53

现在使用java8,您可以使用

代码语言:javascript
复制
Integer offset  = ZonedDateTime.now().getOffset().getTotalSeconds();

若要从UTC获取当前系统时间偏移量,请执行以下操作。然后你可以把它转换成你想要的任何格式。我觉得它对我的案子很有用。示例:https://docs.oracle.com/javase/tutorial/datetime/iso/timezones.html

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11399491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档