たとえば、ユーザーがアプリケーションサーバーとは異なるタイムゾーンでブラウザーから私のWebアプリを実行しているとします。date.getTime()
JavaScriptのメソッドを使用して、クライアント側で日付をシリアル化します。結果のミリ秒をJson経由で送信し、を呼び出してサーバー側にJavaDateオブジェクトを作成しますnew Date(millisecondsFromJS)
。私はそれをMySqlに保存し、それを取得し、Javaを呼び出して再度シリアル化し、date.getTime()
Jsonを介してクライアントにもう一度送信します。
これらのミリ秒でJavaScriptDateオブジェクトを作成すると、元の日付になりますか?このプロセスは正常に完了しましたが、クライアントとサーバーは現在同じタイムゾーンにあります。タイムゾーンが異なる場合、プロセスで日付が破損するかどうかはわかりません。
私が理解しているように、getTime()を使用すると、タイムゾーンに依存しない瞬間が返されます。ユーザーが2012年7月17日午後4時39分CDTをキャプチャした場合、サーバーはそれを2012年7月17日午後11時39分CESTとして保存する可能性がありますが、サーバーがGMTからミリ秒に変換すると、クライアントはこれらのミリ秒からの日付では、元の2012年7月17日午後4時39分CDTを正常に再構築できたはずです。これは本当ですか?