【发布时间】:2021-08-27 07:43:06
【问题描述】:
大家好!
我正在尝试比较 java 中的两个日期,以知道一个是否在实际日期之前,但它也会比较时间,所以无论是同一天,它都会说它是因为将它们与时间进行比较。有什么方法可以知道日期是否早于当天,而不是时间?
这是我正在使用的代码(日期来自一个时代
long timestampDate = 1623307684;
Date date = new Date((long)timestampDate*1000);
if(date.before(Calendar.getInstance().getTime()))
{
System.out.println("Was yesterday");
}
else
{
System.out.println("Is today");
}
感谢您的宝贵时间!
【问题讨论】:
-
你可以使用
LocalDate类。 -
重新打开它,因为重复的目标不完全匹配。这个问题与重复目标有两点不同:(1)它需要将纪元秒数转换为
Instant。 (2) 重复的目标只讨论之前/之后的场景,而这个问题还需要确定时间戳是否指的是 Yesterday。 -
我建议你不要使用
Date和Calendar。这些课程设计不良且早已过时。而是使用来自java.time, the modern Java date and time API 的LocalDate。