【问题标题】:Java - how to convert unix timestamp from one timezone to another? [closed]Java - 如何将 unix 时间戳从一个时区转换为另一个时区? [关闭]
【发布时间】:2012-06-20 07:36:33
【问题描述】:

我有以 UTC 格式存储的 unix 时间戳,并希望将它们转换为用户时区中的 unix 时间戳。

谢谢!

【问题讨论】:

  • 计算后你想用这个值做什么?通常您将 UTC 时间直接转换为字符串以显示给用户,仅转换时间戳通常不是很有用。
  • 嗨@PeterLawrey,基本上,我有一个AJAX 请求,它期望在用户的时区中返回unix 时间戳,以便可以对其进行格式化并执行“1 小时前”之类的操作。问题是,如果时间戳存储在 UTC 中并且这些时间戳在客户端中使用,那么可能会出现“-9 小时前”之类的内容。
  • 如何获取用户时区?你想在服务器端还是客户端转换?
  • 我有一个工具可以将用户IP转换为服务器上的时区。
  • 您应该始终为您的服务器和数据使用 UTC 时间。只要您始终使用 UTC,相对时间(“一小时前”)就不会受此影响。让客户端处理用户可见的日期...

标签: java timezone timestamp unix-timestamp


【解决方案1】:

我个人会在任何地方使用 UTC,并且只在向用户显示时转换时间。不同时区的后端时间可能会导致您不需要的混乱。

如果您正在处理不遵循此方法的接口/服务,您可以这样做,您可以 TimeZone.getOffset(date)

【讨论】:

  • 你是对的。我没有直接思考并意识到我已经使用 UTC 时间戳进行了所有比较。感谢您确认我的愚蠢 =)
猜你喜欢
  • 2015-05-06
  • 2012-01-30
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-17
  • 1970-01-01
  • 2011-11-11
相关资源
最近更新 更多