【问题标题】:Clock Class - Adjust hour in respect to timezone, with no pre defined classes [closed]时钟类 - 根据时区调整小时,没有预定义的类[关闭]
【发布时间】:2013-10-30 11:12:24
【问题描述】:

对于我的作业,我必须创建一个时钟类。一个特点是能够改变时区, 我可以使用 setter 方法。我猜想的逻辑有问题。有 24 个时区,然后是格林威治标准时间。所以我将时区存储为整数,-5、12、0 等。我的问题是如何根据给定的新时区相应地更改小时。

是否会涉及逻辑...

我正在用 Java 编程

所以您的时区可以是正数或负数。 有当前时区和新时区。 正确调整小时。 还有一件事,这不是使用标准的 java 类。我以前用过它们,只是想知道其中的逻辑。

【问题讨论】:

  • 有 24 个时区的信息是作业的特征吗?因为现实世界的时区很多超过 24 个,而且它们并不都对应于精确的一小时偏移量。
  • 没有 24 个时区加上 GMT。有40个时区。 GMT 就是其中之一。
  • 始终将时间存储为 GMT。当您转到显示时间时,您可以将时区考虑在内。
  • @user2904563 Start Here
  • @nhgrif 有548 zones as of 2012c,我相信从那时起已经添加了几个。

标签: java timezone


【解决方案1】:

您可以让用户选择他们的特定时区;但理想情况下,您希望他们选择他们的区域时区。例如,居住在美国东海岸的人们可能会说他们现在的时区是东部标准时间,而他们中的绝大多数人实际上使用的是东部夏令时间。

至于根据他们所在的地区调整小时,我认为这就像从你存储它们的地方调用他们的时区一样简单,检查它的夏令时是否在那里,然后生成格式化的日期即从格林威治标准时间转换为用户的时区。

因此,一旦您有了特定人的时区偏移量,您就可以执行 displayTime = UTCtime + timezoneOffset

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2012-01-09
    • 2014-04-09
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多