我在的PostgreSQL數據庫存儲java.sql.Timestamp
爲時間戳數據類型,我想找出從存儲在數據庫中,以當前時間戳了一個在幾分鐘或幾小時的差異。這樣做的最好方法是什麼?有沒有建立在它的方法或我必須將其轉換爲長或什麼?查找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
使用UNIX_TIMESTAMP
函數將DATETIME轉換爲以小時,分鐘和秒爲單位的值。
如果您不確定哪個值更大,那麼使用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.
的小時或他人正確值可以找到的自1970年以來經過的秒數這可以通過使用與epoch
功能extract
來實現總數後進行計算。
epoch
返回自1970-01-01 00:00:00-00
以來的總秒數。而且,你知道,我們可以把它與3600
使用epoch
將它與extract
轉換成時間:
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. 查找小時之間的差異
- 3. 2個大查詢時間戳字段之間的分鐘差異
- 4. C++ chrono秒鐘內2個時鐘之間的差異
- 5. 使用php或mysql查找時間差異在幾分鐘內
- 6. 2小時之間的差異?
- 7. 如何計算兩個Java java.sql.Timestamps之間的差異?
- 8. 2個時間戳之間的差異
- 9. 兩分鐘之間的差異
- 10. 小數格式的2個日期時間之間的差異
- 11. 2個定時器之間的差異
- 12. 在分鐘查找時間差異powershell腳本
- 13. 2天之間的差異在幾分鐘內
- 14. 找到兩個日期時間之間的微小差異
- 15. 時間戳在分鐘之間的差異
- 16. 2角之間的最小差異
- 17. 添加或找到兩個時間戳之間的差異
- 18. MySQL日期時間在天,小時和分鐘上的差異
- 19. 2時間戳之間的差異 - PHP
- 20. 查找2個類別之間的差異
- 21. 查找2個詞典之間的差異
- 22. Python - 查找2個數字之間的差異
- 23. 計算2日期和時間之間的小時和分鐘
- 24. 查找兩個數組之間的最小差異
- 25. 查詢找到兩個時間數據之間的差異
- 26. 查找兩個時間戳之間的差異
- 27. 找到時間之間的差異c
- 28. 的UIDatePicker - 以小時爲單位2個日期之間的差異:分
- 29. 查找時間差異
- 30. 2個時間戳之間的日期和時間差異?
的可能重複[如何計算兩個Java java.sql.Timestamps之間的區別?(http://stackoverflow.com/questions/582278/how-to-calculate-the-difference-between- two-java-java-sql-timestamps) –