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");
}
java.util
日期-时间API及其格式APISimpleDateFormat
已经过时并且容易出错。建议完全停止使用它们,并切换到2014年3月发布的现代日期时间API*。
使用java.time
(现代日期时间API)的解决方案:
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
public class Main {
public static void main(String[] args) {
long timestampDate = 1623307684L;
Instant instant = Instant.ofEpochSecond(timestampDate);
// Replace JVM's timezone, ZoneId.systemDefault() with the applicable timezone
// e.g. ZoneId.of("Etc/UTC")
LocalDate date = instant.atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate today = LocalDate.now(ZoneId.systemDefault());
if (date.isBefore(today)) {
System.out.println("The given timestamp is for a date in the past.");
// ...
}
if (date.equals(today.minusDays(1))) {
System.out.println("Yesterday");
}
}
}
从Trail:Date Time中了解有关现代日期时间API的更多信息。
*无论出于什么原因,如果您必须坚持Java6或Java7,您都可以使用ThreeTen-Backport,它将大部分Java.time功能后端到Java6和7。如果您正在为一个Android项目工作,并且您的Android API级别仍然不符合Java-8,那么通过desugaring检查Java8+API可用,以及如何在Android项目中使用ThreeTenABP。
如果我有: 例句:如果我想从21/04/2014开始在酒店预订房间,那应该是不可能的,因为今天是28/07/2014。 我如何在JavaFX中做到这一点?
问题内容: 我已经编写了一些代码来检查两个日期,即开始日期和结束日期。如果结束日期早于开始日期,则会提示您结束日期早于开始日期。 我还想添加检查开始日期是否在今天之前(今天和用户使用该应用程序的那天一样)。(下面的日期检查器代码,如果有任何影响,那么所有这些都为Android编写) 问题答案: 这有帮助吗?
问题内容: 我想通过将NSDate与当前日期进行比较来检查NSDate是否在之前(过去)。我该怎么做? 谢谢 问题答案: 我找到了方法。 您也有方法。 迅速3到迅速5:
我有六个变量:,,,,和。我需要检查今天的月份和日期是否在从和直到变量的范围内。 例如,如果,,,,和则日期在间隔内,方法应返回true。 但我不知道该怎么做。除了使用ifs检查所有可能的结果,还有其他选择吗?
获取今天的日期(年、月、日) 用法 Your browser does not support the video tag. 案例:小闹钟 功能:2019年12月25日,播放圣诞快乐歌