Unix时间戳如何计算本地时间
How is local time calculated from Unix timestamp
如果世界各地的 unix 时间戳都相同,我如何才能获得当地时间。
或者是根据不同的时区时间戳不同。即我在美国,UTC 1970 的当前秒数是 5,000,但如果我在亚洲并检查时间戳,它将是 4,000 秒?
世界上每个国家/地区的 UTC 都是相同的,无论您在美国还是在亚洲检查该值都是相同的。
当地时间是使用时区偏移量计算的(通常通过 IANA time zone database 提供)。这是添加到 UTC 时间以确定自 1970 年以来的 "Local Time"。
我认为纪元转换器可以回答你的问题:
http://www.epochconverter.com/
你会看到全世界的 Unix 时间都是一样的,它会根据你的本地化打印日期
旧式 java.util.Date
和现代 java.time.SystemClock
都使用 System#currentTimeMillis()
来获取系统时间,所以我们假设两台机器上的 Unix 时间值相同。
Unix 时间到本地时间的转换可能是一篇学士学位论文:你必须考虑闰年、闰秒、夏令时、政府对国家时区所做的一些更改。您可以在 OpenJDK 的 tzdata sources.
中阅读有关所有内容的更多信息
因此,您需要系统时间和 tzdata 在您的计算机上相同。
如果世界各地的 unix 时间戳都相同,我如何才能获得当地时间。
或者是根据不同的时区时间戳不同。即我在美国,UTC 1970 的当前秒数是 5,000,但如果我在亚洲并检查时间戳,它将是 4,000 秒?
世界上每个国家/地区的 UTC 都是相同的,无论您在美国还是在亚洲检查该值都是相同的。
当地时间是使用时区偏移量计算的(通常通过 IANA time zone database 提供)。这是添加到 UTC 时间以确定自 1970 年以来的 "Local Time"。
我认为纪元转换器可以回答你的问题:
http://www.epochconverter.com/
你会看到全世界的 Unix 时间都是一样的,它会根据你的本地化打印日期
旧式 java.util.Date
和现代 java.time.SystemClock
都使用 System#currentTimeMillis()
来获取系统时间,所以我们假设两台机器上的 Unix 时间值相同。
Unix 时间到本地时间的转换可能是一篇学士学位论文:你必须考虑闰年、闰秒、夏令时、政府对国家时区所做的一些更改。您可以在 OpenJDK 的 tzdata sources.
中阅读有关所有内容的更多信息因此,您需要系统时间和 tzdata 在您的计算机上相同。