我正在使用Java 8。在我的一个Web服务中,我得到这样的日期格式:2017-10-17T04:11:51+00:00
。如何检查日期和时间戳是20分钟之前
我想测试时间戳是否是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
有人可以看看我的代码?
参见[甲骨文步道】(https://docs.oracle.com/ java.datetime'包中的javase/tutorial/datetime/index.html)。如果您有Java 8,请不要使用旧的'java.util.Date'。 –
尝试使用'LocalDateTime'或'DateTime'而不是Date。在Java中,所有带有'Date'的东西都被破坏了,因为它必须是向后兼容的。 – LenglBoy
请注意,“日期”现在是**遗留**,不应再使用。而是使用'java.time'包中的新东西。 – Zabuza