当前位置: 首页 > 知识库问答 >
问题:

检查日期是否在今天之前,而不考虑小时Java[重复]

益承颜
2023-03-14
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");
}

共有1个答案

宗政元青
2023-03-14

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:

  • 获取今天的日期(年、月、日) 用法 Your browser does not support the video tag. 案例:小闹钟 功能:2019年12月25日,播放圣诞快乐歌

  • 我有六个变量:,,,,和。我需要检查今天的月份和日期是否在从和直到变量的范围内。 例如,如果,,,,和则日期在间隔内,方法应返回true。 但我不知道该怎么做。除了使用ifs检查所有可能的结果,还有其他选择吗?

  • 我正在进行JavaScript验证,验证文本框的日期是否等于当前日期。 如果大于或等于今天的日期,则显示错误消息。 注意:在我的中,我已将日期转换为格式。所以我需要检查date与格式的当前日期。这是我的代码: 我需要使用日期的格式来检查我的文本框中的日期,因此我今天的值只能使用日期的格式。