【发布时间】:2020-02-26 23:20:29
【问题描述】:
我无法理解获取时间戳、减去它们以及在未来计算中分配和使用差异。我在 Android Studio 中使用 Java。
当我使用SimpleDateFormat 和Calendar 时,我可以在HH:mm:ss 中获得当前时间,但我不确定如何将其中两个时间戳相减并将差值转换为秒。我的最终目标是获取差异,将其转换为秒,将其分配给 int,然后将该值与其他预定值进行比较。这是 Android Studio 中的一个项目,所以我已经设置了按钮来获取时间戳。
示例:
- 获取当前时间戳,例如 16:50:32
- 在不久的将来获得第二个时间戳,比如 16:53:29(大约三分钟后)
- 减去这两个时间戳并以秒为单位存储值,因此最终值为 177(秒)
- 将这个值 177 放在一个变量中,这样我就可以用它做更多的事情。
我可以使用以下代码获取时间戳
Calendar calendar = Calendar.getInstance();
SimpleDateFormat startTime = new SimpleDateFormat("HH:mm:ss");
timeTest = startTime.format(calendar.getTime());
SimpleDateFormat endTime = new SimpleDateFormat("HH:mm:ss");
timeTest2 = endTime.format(calendar.getTime());
但是在得到两个时间戳后我不知道如何减去它们,将它们转换为秒并将它们存储在一个 int 值中。
【问题讨论】:
-
也许您可以在开头、结尾使用
System.currentTimeMillis(),然后减去它们。然后转换为秒。 -
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
请查看我们的帮助中心,了解有关提高获得好答案机会的提示。它说的第一件事是:搜索、研究并跟踪您找到的内容。即使您在网站的其他地方没有找到有用的答案,包括指向相关问题的链接没有帮助其他人了解您的问题与其他问题有何不同。 (How do I ask a good question?)
-
这能回答你的问题吗? In Java, how do I get the difference in seconds between 2 dates?请搜索更多类似的问题和答案。