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

在android studio java中如何检查更新日期是否大于当前日期

许琛
2023-03-14
   JobRepository jobRepository = new JobRepository(a.getApplication());
        jobRepository.findEnquiry().observe(getViewLifecycleOwner(), jobsEnquiry -> {
        TableRow[] tableRows = new TableRow[jobsEnquiry.size()];

        for (int i=0; i<jobsEnquiry.size(); i++) {
            Job job = jobsEnquiry.get(i).job;
            tableRows[i] = new TableRow(a);
            tableRows[i].setId(i + 1);
            tableRows[i].setPadding(0,20,0,20);
            if(job.getStatus().equals("Left message/Awaiting reply")){
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd H:m:s");
                Date updatedDate = job.getUpdatedAt();
                Date date = job.getDate();
                Date currentTime = Calendar.getInstance().getTime();
                tableRows[i].setBackgroundResource(android.R.drawable.list_selector_background);
                tableRows[i].setBackgroundResource(R.drawable.table_outline);

                if (updatedDate.getTime() < currentTime.getTime()){
                    tableRows[i].setBackgroundResource(android.R.drawable.list_selector_background);
                    tableRows[i].setBackgroundResource(R.drawable.table_outline_status);
                }

            }
            else if(job.getStatus().equals("Action required")){
                tableRows[i].setBackgroundResource(android.R.drawable.list_selector_background);
                tableRows[i].setBackgroundResource(R.drawable.table_outline_status);
            }

共有1个答案

令狐唯
2023-03-14

date类的getTime()返回的值为long(请参阅:https://developer.android.com/reference/java/util/date#getTime()

所以下面的代码可以工作,但是它不能很好地处理时区。

private final long TWENTYFOUR_HOURS = TimeUnit.HOURS.toMillis(24);

if ((updatedDate.getTime() + TWENTYFOUR_HOURS) < currentTime.getTime()){
//Do something
}

if ((updatedDate.getTime() + TimeUnit.HOURS.toMillis(24)) < currentTime.getTime()){
//Do something
}
 类似资料:
  • 问题内容: 我想通过将NSDate与当前日期进行比较来检查NSDate是否在之前(过去)。我该怎么做? 谢谢 问题答案: 我找到了方法。 您也有方法。 迅速3到迅速5:

  • 如果我有: 例句:如果我想从21/04/2014开始在酒店预订房间,那应该是不可能的,因为今天是28/07/2014。 我如何在JavaFX中做到这一点?

  • 问题内容: 我正在使用Java应用程序,该应用程序会在用户在命令行中输入的持续时间内生成报告。用户需要以以下格式输入日期:dd-MM-yyyy 例: java报告2013年1月1日至2013年3月31日 在代码中,我将日期保存在两个字符串中。我必须确保用户输入的开始日期应该早于结束日期。是否有内置函数可以通过将这两个字符串传递给它来帮助我实现这一目标? 问题答案: 您可以使用Date.before

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

  • 我有两个约会。 我如何检查一个日期是否比另一个日期大? 我试过这个: 但它不起作用=( 这种dd/mm/yyyy格式有方法吗?

  • 我正在开发一个Java应用程序,它生成一个报告,报告的持续时间由用户在命令行中输入。用户需要以以下格式输入日期:dd-MM-yyyy <代码> 示例: java报告01-01-2013 31-03-2013 在代码中,我将日期保存为两个字符串。我必须确保用户输入的开始日期应早于结束日期。是否有一个内置函数可以通过将这两个字符串传递给它来帮助我实现这一点?