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

亚利桑那州时区日光节约时间

漆雕升
2023-03-14
问题内容

我正在尝试获取特定时区的当前时间。我尝试了以下代码。

Calendar j = new GregorianCalendar(TimeZone.getTimeZone("US/Mountain"));
j.setTimeInMillis(Calendar.getInstance().getTimeInMillis());
System.out.println(j.get(Calendar.HOUR_OF_DAY)+":"+j.get(Calendar.MINUTE));
TimeZone tz = TimeZone.getTimeZone("US/Mountain");
System.out.println("tz.getRawOffset()"+tz.getRawOffset()/3600);
System.out.println(tz.getDSTSavings());
System.out.println

(tz.inDaylightTime(new Date()));

我得到的答案令人惊讶-16:57-错了1个小时tz.getRawOffset()-7000
3600000是-为什么亚利桑那州的夏令时是正确的?如何获得凤凰城或美国任何其他城市的正确挂钟时间?


问题答案:

亚利桑那州处于山区时区,但未遵守DST。如果您将时区指定为“
US / Mountain”,则计算机将应用Mountain时区中大多数州使用的规则,包括观察夏令时。要获取亚利桑那州的规则(不包含DST),您需要时区为“
US / Arizona”(或“ America / Phoenix”)。在纳瓦霍族中,您想要的时区名为“纳瓦霍”。

为了避免麻烦,请始终尝试使用“ America / *”中的名称,在该名称中可以选择与您感兴趣的地方具有相同时区规则的城市名称。

要在世界上任何给定的城市中在正确的时区中获取正确的时间,您只需熟悉Olson时区数据库中的名称及其含义。虽然您通常认为“时区”一词是指冬季中的一天中的时间(每个人都遵守标准时间),但在Olson数据库中,时区名称代表了夏令时规则和时区规则的全部历史记录针对特定区域。

例如,即使印第安纳州现在遵守东部时间并遵守夏令时(除了芝加哥附近的几个县,如芝加哥这样的中部时间),但在2006年之前,他们没有遵守夏令时。创建了一个时区“
US / Indiana”(或“ America / Indianapolis”)来覆盖该地区,即使在今天,您在谈论印第安纳州时仍要使用时区“
America / Indianapolis”,以便查询日期并且可以正确回答2006年之前的时间。



 类似资料:
  • 问题内容: 我需要将全州名称转换为其官方州地址代码。例如,从纽约String出发,我需要生产NY。现在,我可以将所有内容放入一个哈希图中,但是似乎必须有一个实用程序?我在Android环境中。我不想为这个工具导入一个大型库。谢谢 问题答案: 我已经准备好了-您可以使用它:

  • 我正在开发一个应用程序,其中: 身份验证令牌从其创建时间起有2小时的到期时间。 存储在DB中的令牌创建和到期时间是本地日期/时间(即EST) 在DST开始前2小时内生成的代币,在时钟向前移动1小时后过期。 例如:如果令牌是在2021年3月14日凌晨1:30创建的,那么它的创建和到期时间将在DB中分别设置为“2021-03-14 01:30:00”和“2021-03-14 03:30:00”。现在,

  • 我想知道如何使用Moment. JS计算一天的小时数。原因是正常的一天是24小时。但是夏令时从Spring开始的那一天将是25小时。 或者我如何利用这个时刻。js甚至js来计算是否已达到Spring夏令时,记住DST在2a之后开始。M 我尝试使用的代码是 时刻([2017,2,12])。isDST(); 然而,我如何使用它,使它不仅能告诉我它的DST,而且还能检查它是否在凌晨2点以后。

  • 这是关于Java日历,以及我们今天在多伦多的日光节约变化后遇到的影响。 下面是代码 我知道这段代码没有达到最佳实践,但是我需要在当前版本中维护它。在这里,它使用整数来表示时间部分,然后有一个逻辑来从中提取小时和分钟。 当我遵循逻辑时,小时部分是3。然后,有一个逻辑将此时间添加到值为“Sun Mar 11 00:00:00 EST 2018”的Calendar对象中,并使用下面的语句 理论上,在计算

  • 我有下面的代码来计算偏移量,这里我在EST时区机器上执行下面的代码,其偏移量为-18000秒,即UTC-5.00 请注意,由于一些限制,我不能使用,这里要提到的限制很长。所以我用下面的逻辑从localtime epoch减去GMT epoch,如下所示,它完美地返回了偏移量。 现在,我想在这里假设DST(日光节约)的情况,偏移量为-14400秒,即UTC-4.00。由于EST时区DST(日光节约)

  • 问题内容: 从服务器收到的日期为时区,我需要将其转换为特定时区,例如:。以下是相同的代码 但是这样做时出现以下错误: 但是是一个已知的时区,但仍然要求我添加时区。 问题答案: 您需要加载以下所有内容: 时刻 时区 moment-timezone的时区 数据 角矩 在moment-timezone主页上,提供了三种不同的moment- timezone分布。 是 只是 脚本。它不包含任何时区数据。如