当前位置: 首页 > 面试题库 >

如何从Java中的时区偏移量获取时区?

鲍俊杰
2023-03-14
问题内容

我知道相反。给定一个时区,我可以通过以下代码片段获取时区偏移量:

TimeZone tz = TimeZone.getDefault();
System.out.println(tz.getOffset(System.currentTimeMillis()));

我想知道如何从时区偏移量获取时区名称。

鉴于

timezone offset = 21600000 (以毫秒为单位; +6.00偏移)

我想得到以下任何可能的时区名称的结果:

(GMT+6:00) Antarctica/Vostok
(GMT+6:00) Asia/Almaty
(GMT+6:00) Asia/Bishkek
(GMT+6:00) Asia/Dacca
(GMT+6:00) Asia/Dhaka
(GMT+6:00) Asia/Qyzylorda
(GMT+6:00) Asia/Thimbu
(GMT+6:00) Asia/Thimphu
(GMT+6:00) Asia/Yekaterinburg
(GMT+6:00) BST
(GMT+6:00) Etc/GMT-6
(GMT+6:00) Indian/Chagos

问题答案:


TimeZone#getAvailableIDs(int)

import java.util.*;
class Hello
{
   public static void main (String[] args) throws java.lang.Exception
   {
     TimeZone tz = TimeZone.getDefault();
     int offset = 21600000;
     String[] availableIDs = tz.getAvailableIDs(offset);
     for(int i = 0; i < availableIDs.length; i++) {
       System.out.println(availableIDs[i]);
     }
   }
}


 类似资料:
  • 问题内容: 我需要以[+/-] hh:mm的格式保存手机的时区 我正在使用TimeZone类来处理此问题,但是我只能获得以下格式: 我宁愿不对结果进行子串化,是否可以设置任何键或选项标志来仅获取值,而不获取该时区的名称(GMT / CET / PST …)? 问题答案: 我需要以[+/-] hh:mm的格式保存手机的时区 不,你没有。仅靠偏移量是不够的,您需要存储整个时区名称/ id。例如,我住在

  • 问题内容: 如何收集访问者的时区信息?我需要时区以及GMT偏移时间。 问题答案: var offset = new Date().getTimezoneOffset(); 时区偏移量是UTC与本地时间之间的差(以分钟为单位)。请注意,这意味着如果本地时区在UTC之后,则偏移量为正;如果在本地时区之前,则偏移量为负。例如,如果您的时区是UTC+10(澳大利亚东部标准时间),则将返回-600。夏时制即

  • 我使用的是“亚洲/曼谷”区域id。该偏移是从格林尼治时间UTC 07:00开始的。 但是当我做了下面的事情时,设置为“01/01/1900 7:00:00.000”时不是7:00 结果就是 周一一月一日07:00:00 ICT 1900 -402 周一一月一日06:00:00 ICT 1900 -420 我想知道偏移量是否在1900年1月1日早上7点左右发生了变化,所以我在维基百科上查了一下。ht

  • 问题内容: MySQL中有没有一种方法可以计算任何时区的偏移量?例如,要获取时区中的本地时间。我想做的是计算该时区的偏移量,并将该偏移量添加到GMT以获得本地时间。 问题答案: 如果要计算某个时区(例如,美国/温哥华)与UTC的时差,则可以按照以下步骤进行操作: 为此,您首先需要按照以下概述将时区信息加载到mysql中:http : //dev.mysql.com/doc/refman/5.0/e

  • 问题内容: 我的要求是这样的: 我在数据库和时区中以毫秒为单位保存时间,例如以毫秒为单位的时间 很长,而时区为。我必须将其转换为时区。 要检查我引用此:链接 我的问题是: 如果时区只是不同格式的时间表示(地理区域偏离GMT),为什么我需要从实际时间中减去偏移时间? 为什么我不能忽略保存在数据库中的时区,而只考虑要转换日期的时区? 就像是: 我的系统时区是,我想将时区中的日期转换为时区。以上代码在这

  • 在我的网站中,用户A创建了一个从上午9:00开始的事件。我将该时间转换为GMT,这样,如果用户B在两小时前的不同时区看到该事件,它可以转换为用户B的时区,并显示该事件在11:00AM开始。 我唯一的想法是,当我得到如下所示的时区偏移量时,我是否应该总是将日期设置为一月,以便无论实际月份如何,我总是得到相同的时区偏移量?或者有没有更好的方法来处理这件事?