2012-01-12 4 views
1

UNIXタイムスタンプで表される2つのクライアント時刻を、UTCタイムゾーンで表される標準化されたサーバー時刻に変換したいとします。クライアントのJavaScript計算からのUnixタイムスタンプは、ユーザーのタイムゾーンを基準にしていますか?

Java Jodaのタイムライブラリを使用してこれを行いたいとします。

2つの異なるタイムゾーンに2つのクライアントがあり、JavaScriptコードを使用してそれぞれのUnixタイムスタンプを取得し、サーバー上のJavaコード(UTCタイムゾーン)に渡します。これらの時刻を比較可能な日付として保存したい場合は、ユーザーのタイムゾーンからサーバーのタイムゾーンに変換するか、Unixのタイムスタンプはサーバー上のJoda DateTimeに変換すると(以下のように)、DateTimeを自動的に作成します。それぞれはサーバーのタイムゾーンに相当しますか?

long clientTime = 1326329941540; // passed from client to server 
DateTime clientTimeAsJoda = new DateTime(clientTime); 
// (A) Does this convert clientTimeAsJoda to server time zone? 

かは、私がこのような何かをする必要があります:

long clientTime = 1326329941540; // passed from client to server 
DateTime clientTimeAsJoda = new DateTime(clientTime).withZone(DateTimeZone.UTC); 
// (B) Does this convert clientTimeAsJoda to server time zone? 

答えて

4

Unixのタイムスタンプは、タイムゾーンの独立しています。 「エポック」と呼ばれる特定の瞬間(すなわち、1970-01-01 00:00:00 UTC)からの秒数を表します。 (あなたの価値は、実際には数ミリ秒ではなく数ミリ秒ですが、アイデアは同じです)だから、クライアントのタイムゾーンを心配する必要はありません。

関連する問題