2つの日付の違いを(yyyy-MM-dd hh:mm:ssの形式で)見つけるコードがあります。このコードは、世界中の複数のサーバーで実行されます。 2つの日付のうちの1つは、コードが実行されている特定のタイムゾーン(サーバー時刻)の現在時刻と、データベースから取得された時刻です。これらの2つの時間の差が86400秒(1day)より大きい場合、 "無効"と表示され、それ以外の場合は "有効"と表示されます。 問題は、コードに直面している問題は、自分のローカルで稼働しているときですが、それはうまく動作しますが、私はそれを米国のサーバーに展開すると、GMT時間が考慮され、現地時間ではありません。 コードが実行されるどこにいても、データベースからフェッチされた現在の時刻と時刻の差が必要です.86400秒を超える場合は、無効な値を出力します。どのようにJavaでこれを達成するには? PS:Dateオブジェクトを試しましたが、GMTはどこにでもあると考えています。2つの日付間の差異を異なるタイムゾーンで秒単位で見つける方法
3
A
答えて
5
私はGMTをどこでも使用し、表示のために現地時間に変換するだけです。
違いを見つけるには、両方の時間を同じタイムゾーン(GMTなど)に変換し、その差を取ってください。
2
以下のコード例で行うことができます。
Date date = new Date();
DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");
formatter.setTimeZone(TimeZone.getTimeZone("CET"));
Date date1 = dateformat.parse(formatter.format(date));
// Set the formatter to use a different timezone
formatter.setTimeZone(TimeZone.getTimeZone("IST"));
Date date2 = dateformat.parse(formatter.format(date));
// Prints the date in the IST timezone
// System.out.println(formatter.format(date));
は今date2の
0
まずで日付1の比較、私はそこにピーターLawreyの答えに同意します。通常、単一ゾーンのすべての時間をデータベースに格納し、ユーザーのロケールに基づいてユーザーのオフセットを使用してレンダリングすることをお勧めします。
違いを見つけるには、方法getTime()
を使用して、各日付のエポックからのミリ秒単位の時間を取得します。 1日の差の計算は、86400 * 1000ミリ秒です。または、エポックからミリ秒単位で時間をデータベースに格納し、取得時にDBプロシージャ/ファンクションを使用します。
これが役に立ちます。
関連する問題
- 1. 2つの日付時刻の間の微妙な差異を見つける
- 2. Android:2つのタイムゾーンの時間差を秒単位で取得
- 3. 2台のPandas DataFrames間の差異を見つける方法
- 4. 2つのJoda日付の差を秒単位で取得
- 5. 2つの異なるタイムゾーンの時差
- 6. 2つのデータフレームの月間の差異を見つける
- 7. 2つのSQLサーバーテーブル間のデータの差異を見つける
- 8. 2つの日付の時間差(時間単位)を取得する方法
- 9. rubyを使用して2つの日時スタンプフィールドからミリ秒単位で時間を見つける方法
- 10. Laravel Carbonを使った日付の差異を見つける
- 11. Excel:日付の差異を見つける
- 12. ファイル内で2つの異なる単語を見つける
- 13. 2つの隣接するフィールド間の差異 - 日付 - PHP MYSQL
- 14. Xcode - 2つの日付間の中間日付を見つける方法
- 15. 日付の異なる2つの日付の間のシェルスクリプト
- 16. 2つの日付間の差異を取得します。
- 17. 2つの異なる親コミットを持つ2つのコミット間の差異
- 18. 異なる年の2つの日付の差
- 19. Infopathの2つの日付フィールド間の日数の差異を確認する
- 20. 2つの異なるテーブル間で日付を比較する方法
- 21. 2つのタイムスタンプの日付の差を見つけるには
- 22. PHPの2つの日付間の絶対日付の差異を取得する方法は?
- 23. 2つの日付ピッカーコンテンツコントロール間の日付の差異ワード2016 vbaコード
- 24. Javaの2つの日付間の日数が異なる
- 25. 2つの日付の差(秒)ios
- 26. 2つの異なる位置でストリングの隣人を見つける
- 27. パンダで期間の異なるテキストフィールドを秒単位で変換
- 28. laravelの2つの日付の間の日を見つける
- 29. R dplyr、異なる単位で行間の時間差
- 30. R:営業日の差異を見つける
デフォルトのタイムゾーンを設定しても問題ありませんか?http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html#setDefault(java.util.TimeZone) –
いいえ、デフォルトのタイムゾーンを設定すると、コードが単一のタイムゾーンにデプロイされている場合にのみ機能します。私のコードは世界中の複数のサーバーに展開されます –