gpt4 book ai didi

java - 尝试获取两个时间戳,减去它们,将差值转换为秒并存储在 int 变量中

转载 作者:行者123 更新时间:2023-12-01 17:41:35 25 4
gpt4 key购买 nike

我无法理解获取时间戳、减去它们以及在未来的计算中分配和使用差异。我在 Android Studio 中使用 Java。

当我使用 SimpleDateFormatCalendar 时,我能够以 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 值中。

最佳答案

您使用的是 Java 8 吗?

如果是这样,您可以转换为 Instant 并获取它们之间的Duration:

    Calendar cal = ...
Calendar cal2 = ...
Instant instantOne = cal.toInstant();
Instant instanceTwo = cal2.toInstant();
Duration between = Duration.between(instantOne, instanceTwo);
long seconds = between.getSeconds();

我认为您使用 Calendar 是有原因的(它在您无法控制的情况下传递给您?)...如果没有,那么您可以使用 Instant.now () 从一开始就删除了 Java 8 之前的日期/时间类

关于java - 尝试获取两个时间戳,减去它们,将差值转换为秒并存储在 int 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60424058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com