我想在java中找到時間差異,這樣如果會話過期,我可以創建新的會話,否則將創建新的時間。查找時間差異
Q
查找時間差異
0
A
回答
3
Returns Time Diffrence in Seconds :
long elapsed_time = 0L;
java.util.Date startTime = null;
java.util.Date endTime = null;
double fsec = 0L;
String rSec = "";
startTime = new java.util.Date();
<--------Some Operation----->
endTime = new java.util.Date();
elapsed_time = endTime.getTime() - startTime.getTime();
fsec = (elapsed_time)/1000.00;
rSec = Double.toString(fsec);
rSec = rSec + " Sec";
+0
+0:使用日期體重相對較重,通常不準確。 – 2011-03-31 10:26:02
3
您可以使用System.currentTimeMillis();
來獲取Java中的當前系統時間(以毫秒爲單位,格林威治標準時間01-01-1970 00:00:00 GMT)。
會話對象很可能也有一個方法來獲取會話最後一次使用的時間(在您使用的任何會話對象的API文檔中查看它)。
從會話中減去當前時間,並知道會話上次使用以來的時間。如果它超過了超時時間,請做任何你必須做的事情。
請注意,servlet容器具有用於使會話失效的內置機制,您無需手動使會話無效。另外,如果沒有會話,HttpRequest.getSession()
將自動爲您創建一個新的HttpSession
對象。
2
使用日期意味着創建一個對象,是不需要,因爲它只是包裝System.currentTimeMillis()
遺憾的是此功能只精確到充其量是一個毫秒和大約16毫秒在某些Windows系統。
更好的方法是使用System.nanoTime()
在Oracle的JVM上,在Windows XP-7,Solaris和最新版本的Linux上,此準確度優於1微秒。它不會創建任何對象。
long start = System.nanoTime();
// do something.
long time = System.nanoTime() - start; // time in nano-seconds.
// time in seconds to three decimal places
String timeTaken = time/1000000/1e3 + " seconds";
相關問題
- 1. Datediff在休息時間查找差異
- 2. JNDI查找時間巨大差異
- 3. 查找小時之間的差異
- 4. 查找時間差
- 5. 查找時間差
- 6. 查找差異
- 7. MySQL添加時間值之間的差異來查找平均差異。
- 8. 找到時間之間的差異c
- 9. java查找差異
- 10. 查找字符串之間的差異
- 11. SQL Server查找行之間的差異
- 12. SQL查找兩行之間的差異
- 13. Excel:查找日期之間的差異
- 14. 查詢找到兩個時間數據之間的差異
- 15. 如何查找時間之間的差異
- 16. 查找兩個時間戳之間的差異
- 17. 時間差異忽略時區差異
- 18. 查找列之間的時間差
- 19. 查找行之間的時間差
- 20. 時間的差異
- 21. 在kdb中查找日期中的時間戳差異
- 22. 使用php或mysql查找時間差異在幾分鐘內
- 23. 通過不同時間表的差異查找日期
- 24. 在分鐘查找時間差異powershell腳本
- 25. Oracle作業和查找時間戳差異
- 26. 查找2個java.sql.Timestamps之間的小時或分鐘差異?
- 27. 查找列值的差異
- 28. Mysql的查找差異
- 29. 查找模式差異
- 30. javascript查找對稱差異
你甚至沒有一半清楚! – adarshr 2011-03-31 09:31:43
你能不能詳細說一下 – 2011-03-31 09:31:46
你是不是指這個http://stackoverflow.com/questions/2027100/best-way-to-calculate-differnce-between-two-times-in-java? – 2011-03-31 09:34:25