私はタイムスタンプデータ型としてのPostgreSQLデータベース内java.sql.Timestamp
を格納し、私は現在のタイムスタンプにDBに格納されている1つから数分または数時間の違いを知りたいです。これを行う最善の方法は何ですか?そこにはメソッドが組み込まれているのですか、それとも長いものに変換する必要がありますか?2つのjava.sql.Timestampsの間に時差がありますか?
答えて
私はこれを使用して終了しました。彼らがそれを検索すると他の人のために投稿したいだけです。
public static long compareTwoTimeStamps(java.sql.Timestamp currentTime, java.sql.Timestamp oldTime)
{
long milliseconds1 = oldTime.getTime();
long milliseconds2 = currentTime.getTime();
long diff = milliseconds2 - milliseconds1;
long diffSeconds = diff/1000;
long diffMinutes = diff/(60 * 1000);
long diffHours = diff/(60 * 60 * 1000);
long diffDays = diff/(24 * 60 * 60 * 1000);
return diffMinutes;
}
あなたは最高です! – dbrad
DATETIMEを時、分、秒の値に変換するには、UNIX_TIMESTAMP
関数を使用します。
そして、どの値が大きいかわからない場合は、ABS機能を使用してください。日付の
これは私の一般的な機能である追加/削除する: "フィールド" のための
public static Date addRemoveAmountsFromDate(Date date, int field, int amount) {
Calendar tempCalendar = Calendar.getInstance();
tempCalendar.setTime(date);
tempCalendar.add(field, amount);
return tempCalendar.getTime();
}
例:Calendar.HOUR_OF_DAY、Calendar.MINUTE
ちょうど使用:
Date.compareTo(Date)
あなたはjava.sql.TimestampsをDateに最初に変換する必要があります。
OPは現在までの経過時間を時間と分の形式で検索しますが、日付が前後で等しい場合は検索しません。 –
この回答は質問とは関係ありません –
date_part
機能はあなたにhours
を与えることができますか、または興味があるかもしれませんが、それはsubstr
の種類であり、したがってそれに頼ることはできません。 timestamp
の値をunix_timestamp
とextract
に換算する必要があります。合計timestamp
からcurrent_timestamp
までの経過時間、分または関連する経過時間です。
例:時間等の
select age(now(), timestamp '2010-11-12 13:14:15');
//results the interval to be "*1 year 6 mons 2 days 04:39:36.093*"
select date_part('hours', age(now(), timestamp '2010-03-10 02:03:04'));
// results *4* which is not correct.
正しい値がこれはextract
機能とepoch
を使用して達成することができる1970年からの経過秒数の合計を発見した後に計算することができます。
epoch
は、1970-01-01 00:00:00-00
からの秒数の合計を返します。そして、あなたが知っている、私たちはextract
でepoch
を使用して3600
でそれを分割することにより時間に変換することができます
select
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15') as total_seconds,
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15')/3600 as total_hours;
ROUND(
EXTRACT(EPOCH FROM current_timestamp - timestamp '2010-11-12 13:14:15')/3600
) as total_hours_rounded;
//結果:同様
----------------+--------------+-----------------------
| total_seconds | total_hours | total_hours_rounded |
| --------------+--------------+----------------------|
| 47452282.218 | 13181.189505 | 13181 |
----------------+--------------+-----------------------
、我々はできます他の必要な値を抽出し、必要に応じて使用します。
- 1. 2つのフィールドからJという時間差があります
- 2. JSPライフサイクルで2つのリクエストが時間差がある場合
- 3. 時差Zendの2つの日付間の差
- 4. 2時間の間に計算差()
- 5. System.IO.IOException:クライアントとサーバーの間に時間と日付の差があります
- 6. FireBird - 2つのタイムスタンプ間の時間差を計算しますか?
- 7. 2つのステートメントの時差
- 8. 時間の値に6時間の差があるのはなぜですか?
- 9. 2つの日付の時間差(時間単位)を取得する方法
- 10. 時間単位での2つのdatetime値の差を示す
- 11. どのようにして2つの日付間の時間差を得ることができますか?
- 12. flattenの2つの亜種の漸近時間の差
- 13. 行と2つのグループ間の平均時差の計算
- 14. 2回の時間差を確認しますか?
- 15. jQueryの2つの日付時刻の時間差を計算する方法
- 16. 24時間以上の2時間間の時間差を見つける方法
- 17. 2つのイテレータの間にいくつの要素がありますか
- 18. 2つのインデックスのmysql結合に時間がかかります!
- 19. PHP <5.3差の2時間時間::分
- 20. 2つの日付間の時間差を取得しようとする
- 21. 2つのパス間のNodejsの差
- 22. 同時に2つのjquery関数があります
- 23. 2つのファイル間の交差
- 24. 2つの日付間の差(分)
- 25. 2つの日付の時差
- 26. レコード間の時間の差
- 27. ログファイルの2行の間の時間の差
- 28. 差し引く2時間モーメント
- 29. UIDateピッカーSET時間と時間の差を計算する時間が短くなります。
- 30. 私は2つのgradleアンドロイドプラグインを見つける - 2つの間には関係がありますか?
の可能重複[2つのJava java.sql.Timestamps間の差を計算する方法?](http://stackoverflow.com/questions/582278/how-to-calculate-the-difference-between- two-java-java-sql-timestamps) –