检查两个 Java 日期是不是相同 |安卓[重复]

     2023-04-19     239

关键词:

【中文标题】检查两个 Java 日期是不是相同 |安卓[重复]【英文标题】:Checking if Two Java Dates are Same Date | Android [duplicate]检查两个 Java 日期是否相同 |安卓[重复] 【发布时间】:2021-12-22 17:16:12 【问题描述】:

我想检查两个日期。如果两个日期相同,则 recyclerview 将显示当天的销售报告。

我设置了一个日期选择器。

DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() 
        @Override
        public void onDateSet(DatePicker datePicker, int year, int month, int day) 
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, day);
            //mills = calendar.getTimeInMillis();
            dateChange();        
        
    ;

    tvDate.setOnClickListener(view -> 
        DatePickerDialog datePickerDialog = new DatePickerDialog(context, date, calendar.get(Calendar.YEAR),
                calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH));
        datePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis());
        datePickerDialog.show();

    );

我希望当我选择一个日期时,recyclerview 在该日期从 SQLite 数据库显示报告。我将如何检查数据库日期和我的日期选择器日期是否相同?

我试过了。

private void dateListArray()   

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
    String currDate = simpleDateFormat.format(calendar.getTimeInMillis());

    for (ProductModel p : myDatabase.getAllReport()) 

        String dates = simpleDateFormat.format(new Date(p.getDate()));

        //check datepicker date and allreport date from database
        if (currDate == dates)           
            dateList.add(p)

        else

        
    
    adapter.setFilter(dateList);//filter recyclerview

请帮忙。

【问题讨论】:

考虑不使用DateCalendarSimpleDateFormat。这些课程设计不良且早已过时。使用来自java.time, the modern Java date and time API 的LocalDateDateTimeFormatter。对于 API 级别 26 以下的 Android,大部分情况下可通过脱糖获得。 在链接的原始问题下,好的答案是the one by Istvan here。 this answer by Basil Bourque 在其他原件下的深度更多。如果您可以完全避免使用Date,而只使用LocalDate.isEqual(),那就更好了。见answer by Lorcan O’Neill。 Thacks O,尼尔。我得到我的答案。我使用了本地日期。它非常简单明了。但它需要 26 个 API。 我读到对于 API 级别 26 下的 Android,您可以使用 LocalDate 和其他 java.time 类,尽管 Java 8+ APIs available through desugaring | Android Developers。我自己不是 Android 开发人员。 【参考方案1】:
 if (currDate == dates)           
      dateList.add(p)
 

java.utils.Date 提供的方法getDate(Java 8 后已弃用)

如果您想比较 2 个日期,请将您的日期字符串值转换为 java.utils.Date,使用 getDate 然后像这样比较 2 个值

if (currDate.getDate() == dates.getDate())           
   dateList.add(p);

【讨论】:

如果不推荐使用获取日期,那么检查日期的简单方法是什么。 不正确。我将这两个日期设置为new Date(1518297681000L)new Date(1636516803331L),并且在我的时区,条件结果为真。日期是 2018 年 2 月 10 日星期六 22:21:21 CET 和 2021 年 11 月 10 日星期三 05:00:03 CET 2021,所以根本不是同一日期。此外,getDate()Date 的大多数其他方法自 Java 1.1 以来已被弃用,1997 年 2 月,它将很快成为 25 年。不推荐使用的原因是:它们跨时区工作不可靠。 我认为 offsetDateTime 效率更高,我错过了阅读问题,我专注于“Java Date” 我找到了解决方案。 Locadate 易于使用并提供完美的解决方案。 localDate = instant.ofEpochMilli(calendar.getTimeInMillis()).atZone(ZoneId.systemDefault()).toLocalDate(); for (ProductModel p : myDatabase.getAllReport()) databaseLocaldate = Instant.ofEpochMilli(p.getDate()).atZone(ZoneId.systemDefault()).toLocalDate(); if (localDate.equals(databaseLocaldate)) dateList.add(p);

检查两个数组是不是包含相同的对象 - 反应 componentDidUpdate [重复]

】检查两个数组是不是包含相同的对象-反应componentDidUpdate[重复]【英文标题】:checkiftwoarrayscontainidenticalobjects-reactcomponentDidUpdate[duplicate]检查两个数组是否包含相同的对象-反应componentDidUpdate[重复]【发布时间】:2018-07-1607:10:21【... 查看详情

需要 mongodb 查询来检查日期是不是在存储在集合文档中的两个日期之间[重复]

】需要mongodb查询来检查日期是不是在存储在集合文档中的两个日期之间[重复]【英文标题】:NeededmongodbquerytocheckwhetherdateisbetweentwoDatesstoredincollectiondocument[duplicate]需要mongodb查询来检查日期是否在存储在集合文档中的两个日期之... 查看详情

Java:检查当前日期是不是在特定日期范围内[重复]

】Java:检查当前日期是不是在特定日期范围内[重复]【英文标题】:Java:Checkifcurrentdateisinrangeofspecificdays[duplicate]Java:检查当前日期是否在特定日期范围内[重复]【发布时间】:2016-02-1512:35:53【问题描述】:我正在努力解决以下问... 查看详情

如何检查字符串是不是匹配某种日期格式?? JAVA [重复]

】如何检查字符串是不是匹配某种日期格式??JAVA[重复]【英文标题】:HowtocheckAstringMatchesacertaindateformat??JAVA[duplicate]如何检查字符串是否匹配某种日期格式??JAVA[重复]【发布时间】:2021-03-1907:16:11【问题描述】:屏幕格式应... 查看详情

如何测试两个日期时间是不是相同? [复制]

】如何测试两个日期时间是不是相同?[复制]【英文标题】:HowtotesttwodateTimesforbeingthesamedate?[duplicate]如何测试两个日期时间是否相同?[复制]【发布时间】:2012-06-2023:08:40【问题描述】:可能重复:HowtocompareDatesinC#我的这段代码... 查看详情

检查两个无序列表是不是相等[重复]

】检查两个无序列表是不是相等[重复]【英文标题】:Checkiftwounorderedlistsareequal[duplicate]检查两个无序列表是否相等[重复]【发布时间】:2012-03-2606:11:29【问题描述】:我正在寻找一种简单(快速)的方法来确定两个无序列表是否... 查看详情

如何检查两个 Java 类在语义上是不是相同?

】如何检查两个Java类在语义上是不是相同?【英文标题】:HowcanIcheckiftwoJavaclassesaresemanticallyidentical?如何检查两个Java类在语义上是否相同?【发布时间】:2018-12-2622:22:51【问题描述】:我需要合并两个类似的大型项目(1000多个... 查看详情

使用基本Java检查两个字符串是不是是彼此的字谜[重复]

】使用基本Java检查两个字符串是不是是彼此的字谜[重复]【英文标题】:CheckingiftwoStringsareanagramofeachotherusingbasicJava[duplicate]使用基本Java检查两个字符串是否是彼此的字谜[重复]【发布时间】:2016-07-1021:43:03【问题描述】:我正在... 查看详情

检查日期是不是存在(第 30 天/第 31 天)[重复]

】检查日期是不是存在(第30天/第31天)[重复]【英文标题】:CheckwhethertheDateexists(30th/31thday)[duplicate]检查日期是否存在(第30天/第31天)[重复]【发布时间】:2017-02-0900:49:49【问题描述】:如何检查一个月的第30天或第31天是否存... 查看详情

在Javascript中比较两个相同的日期[重复]

】在Javascript中比较两个相同的日期[重复]【英文标题】:ComparingtwosamedatesinJavascript[duplicate]【发布时间】:2021-10-0314:10:09【问题描述】:我尝试在chrome控制台中比较2个相同的日期:newDate("2021-06-23")==newDate("2021-06-23")这是假的新日... 查看详情

在javascript中检查日期是不是有效[重复]

】在javascript中检查日期是不是有效[重复]【英文标题】:Checkingifadateisvalidinjavascript[duplicate]在javascript中检查日期是否有效[重复]【发布时间】:2012-05-2207:34:01【问题描述】:可能重复:Detectingan“invaliddate”DateinstanceinJavaScriptjavas... 查看详情

如何检查来自firebase的日期是不是等于今天[重复]

】如何检查来自firebase的日期是不是等于今天[重复]【英文标题】:HowtocheckifadatefromfirebaseisequaltoToday[duplicate]如何检查来自firebase的日期是否等于今天[重复]【发布时间】:2020-01-1412:10:22【问题描述】:我有一个离子卡,可以显示... 查看详情

检查两个日期间隔是不是相交

】检查两个日期间隔是不是相交【英文标题】:Checkiftwodateintervalsintersect检查两个日期间隔是否相交【发布时间】:2013-09-0811:47:45【问题描述】:我需要检查MySQL以查看两个日期间隔是否相交。为了更好地解释我的问题:我有一... 查看详情

检查是不是存在具有相同类的多个元素[重复]

】检查是不是存在具有相同类的多个元素[重复]【英文标题】:Checkifmultipleelementswithsameclassexist[duplicate]检查是否存在具有相同类的多个元素[重复]【发布时间】:2014-07-0520:29:46【问题描述】:想知道是否有任何方法可以检查文档... 查看详情

检查两个日期是不是包含给定月份

】检查两个日期是不是包含给定月份【英文标题】:Checkwhethertwodatescontainagivenmonth检查两个日期是否包含给定月份【发布时间】:2009-11-1215:26:18【问题描述】:我的问题很简单......或者可能不是。我有一个包含两个日期的表格:S... 查看详情

检查当前日期是不是在两个日期之间 Oracle SQL

】检查当前日期是不是在两个日期之间OracleSQL【英文标题】:CheckifcurrentdateisbetweentwodatesOracleSQL检查当前日期是否在两个日期之间OracleSQL【发布时间】:2014-06-1709:30:31【问题描述】:如果当前日期在OracleSQL的两个日期之间,我想... 查看详情

检查数组是不是与其他数组具有相同的值[重复]

】检查数组是不是与其他数组具有相同的值[重复]【英文标题】:Checkifarrayhassamevaluesasotherarray[duplicate]检查数组是否与其他数组具有相同的值[重复]【发布时间】:2021-02-0918:53:51【问题描述】:我正在尝试通过tags数组过滤我的实... 查看详情

比较BGR图像是不是完全相同[重复]

】比较BGR图像是不是完全相同[重复]【英文标题】:CompareifBGRimageisexactlythesame[duplicate]比较BGR图像是否完全相同[重复]【发布时间】:2019-06-2723:08:31【问题描述】:我正在尝试编写代码来确定两个图像是否相同。我能够以BGR的形式... 查看详情