2016-10-19 15 views
1

世界中のUNIXのタイムスタンプが同じ場合、どのように現地時間を取得できますか?Unixのタイムスタンプから現地時間を計算する方法

タイムスタンプが異なる別のタイムゾーンに基づいていますか?すなわち私は米国にいるが、UTC 1970からの現在の秒は5,000であるが、私がアジアにいて、タイムスタンプをチェックすると4000秒になるだろうか?

答えて

3

UTCは世界のすべての国で同じですが、米国またはアジアでチェックインするかどうかにかかわらず、値は同じになります。

現地時間は、タイムゾーンオフセットを使用して計算されます(通常、IANA time zone databaseから提供されます)。これは私がエポックコンバータは、あなたの質問に答えることができると思います1970年

1

ので、「現地時間」を決定するためにUTC時間に加算されます。

http://www.epochconverter.com/

あなたはUnixの時間が世界中で同じであることがわかります、それは両方がjava.util.Dateと現代java.time.SystemClockは、システム時刻を取得するためにSystem#currentTimeMillis()を使用しているオールドスクールローカライズ

2

に応じて日付を印字するので、あなたは、両方のマシンで同じUnixの時間値を持っていると仮定できるようになります。

UNIX時間とローカル時間の変換は、学士号となる可能性があります。うるう年、うるう秒、夏時間、政府の国のタイムゾーンの変更を考慮する必要があります。あなたはOpenJDKのtzdata sourcesのすべてについてもっと読むことができます。

したがって、システム時刻とtzdataの両方がお使いのマシンで同じになる必要があります。