gpt4 book ai didi

java - 如何检查日期和时间戳是在 20 分钟之前

转载 作者:行者123 更新时间:2023-11-29 08:32:28 24 4
gpt4 key购买 nike

我正在使用 Java 8。在我的一项网络服务中,我得到的日期格式如下:2017-10-17T04:11:51+00:00

我想测试时间戳是否是 20 分钟前。为此,我编写了以下代码,但它不起作用:

Long minutesAgo = new Long(20);
String lastDate = "2017-10-17T04:11:51+00:00";
OffsetDateTime odt = OffsetDateTime.parse(lastDate);
Instant instant = odt.toInstant(); // Instant is always in UTC.
java.util.Date date = java.util.Date.from( instant );
Date dateIn_X_MinAgo = new Date (date.getTime() - minutesAgo*60*1000);
System.out.println(dateIn_X_MinAgo.getTime()); //It prints 1508212311000

有人可以看看我的代码吗?

最佳答案

您正在使用新的 java.time API(OffsetDateTimeInstant),因此无需将其与旧的混合使用java.util.Date 类。

您可以使用 java.time.temporal.ChronoUnit 获取 2 个瞬间之间的分钟差值,并使用 Instant.now() 获取当前瞬间:

String lastDate = "2017-10-17T04:11:51+00:00";
OffsetDateTime odt = OffsetDateTime.parse(lastDate);
// get difference from now (in minutes)
long diff = ChronoUnit.MINUTES.between(odt.toInstant(), Instant.now());
if (diff > 20) {
// odt is more than 20 minutes ago
}

关于java - 如何检查日期和时间戳是在 20 分钟之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46791573/

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