java - 检查两个日期之间

标签 java android

我正在创建一种方法,该方法将从存储为文本的数据库中获取存储的日期和时间,然后使用该日期/时间在当前时间和当前时间加一之间进行检查。

我遇到的问题是在两个日期和时间之间进行检查,因为我已将它们全部存储为字符串,我不确定如何检查它是否在小时之间:

private int mYear, mMonth, mDay, mHour, mMinute;
        listOfAllDateTimesToSendText = gameDetailsFromDatabase.agReturnDateTime();
                calendar = Calendar.getInstance();
                mYear = calendar.get(Calendar.YEAR);
                mMonth = calendar.get(Calendar.MONTH);
                mDay = calendar.get(Calendar.DAY_OF_MONTH);
                mHour = calendar.get(Calendar.HOUR_OF_DAY);
                mMinute = calendar.get(Calendar.MINUTE);
                String currentDateTime =  mYear + "-"+ mMonth + "-" + mDay + " " + mHour + ":" + mMinute + ":00";
                String currentDateTimePlusOneHour =  mYear + "-"+ mMonth + "-" + mDay + " " + mHour + 1 + ":" + mMinute + ":00";
                while(listOfAllDateTimesToSendText.moveToNext()){
                    String dateTimeFromCusor = listOfAllDateTimesToSendText.getString(listOfAllDateTimesToSendText.getColumnIndex(MainAutomateGames.AutomateGamesTable.COLUMN_DATE_TO_SEND_TEXT));
                    if(dateTimeFromCusor == currentDateTime || dateTimeFromCusor == currentDateTimePlusOneHour){

                    }

我一直在四处寻找 SO 和网络,但其中很多都使用 DateDateFormatyyyy-mm-dd等等,老实说,我对我应该在当前情况下使用哪个感到很困惑。

最佳答案

如果您使用的是最新版本的 Java(Java 8 之前的版本),我强烈建议您查看 Joda Time 库。无论哪种方式,请考虑执行以下步骤:

  • 首先,了解如何将从数据库中获取的字符串转换为 Java 日期格式。看看here .

  • 您不需要那个日历逻辑。它很臃肿,您只能获取当天的实例。

    今天的 DateTime = new DateTime();

  • 了解如何将一小时添加到今天日期的当前实例。也许是这样的:

    DateTime plusOneHour = new DateTime(today.getMillis() + ~求金额~);

  • 获取三个日期并比较您想要的内容。如果您进行研究,您会发现很多关于如何在 Java 中比较两个日期的示例,无论是否使用 Joda。

如果您不知道如何执行其中的某些步骤,我们随时为您提供帮助。

关于java - 检查两个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50990751/

相关文章:

java - 如何处理许多慢速连接

java - 为类的对象分配适当的函数

java - Android——PING 不稳定、缓慢、不可靠

android - 无法滚动到底部

java - ksoap2 android 发送数据

java - Hibernate 在使用序列时生成负 id 值

android - 在android中更改图像的颜色

java - 错误 :Execution failed for task ':app:packageAllDebugClassesForMultiDex' . Apache POI Android

java - 如何避免 Realm 重写/覆盖子对象?

android - 如何在 Android 中创建共享库