我想在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