Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何比较数据库中存储的日期(yyyy-mm-dd)并在android中对其进行排序_Android - Fatal编程技术网

如何比较数据库中存储的日期(yyyy-mm-dd)并在android中对其进行排序

如何比较数据库中存储的日期(yyyy-mm-dd)并在android中对其进行排序,android,Android,我存储了3个不同的日期,如开始日期、结束日期、报警日期 我已经将它们转换为字符串并存储在sqlite数据库中,现在我想将这3个日期相互比较,这样只有当它符合条件时,才应该将日期输入数据库,否则它必须显示一个警报框以输入正确的日期 条件是 报警日期应小于或等于开始日期,但不大于结束日期 开始日期应小于或等于结束日期且不大于结束日期 结束日期应大于或等于开始日期,但不得小于报警日期 只有满足上述条件时,才应将日期输入数据库。 有谁能用一些示例代码帮助我吗?您可以从数据库中提取日期作为字符串,然后将其

我存储了3个不同的日期,如开始日期、结束日期、报警日期

我已经将它们转换为字符串并存储在sqlite数据库中,现在我想将这3个日期相互比较,这样只有当它符合条件时,才应该将日期输入数据库,否则它必须显示一个警报框以输入正确的日期

条件是

报警日期应小于或等于开始日期,但不大于结束日期 开始日期应小于或等于结束日期且不大于结束日期 结束日期应大于或等于开始日期,但不得小于报警日期 只有满足上述条件时,才应将日期输入数据库。
有谁能用一些示例代码帮助我吗?

您可以从数据库中提取日期作为字符串,然后将其转换为日历,使用日历的equal、before、after方法。我认为这是最好的办法

更新:

适用于YYYY-MM-DD等格式

StringTokenizer st = new StringTokenizer(startDate);
        int year = Integer.parseInt(st.nextToken("-"));
        int month = Integer.parseInt(st.nextToken("-"));
        int date= Integer.parseInt(st.nextToken("-"));
        Calendar calStartDate = Calendar.getInstance();
        calStartDate.set(Calendar.DAY_OF_MONTH, date);
        calStartDate.set(Calendar.MONTH, month - 1);
        calStartDate.set(Calendar.YEAR, year);
与转换其他日期(如endDate/alarmDate)相同


现在根据您的情况应用calStartDate.BeforeCalarmDate等。

我的意思是您可以使用equal、before、after方法作为日历对象来检查上述条件。是否也使用时间yyyy-mm-dd HH:mm:ss表示小时-分钟和秒或不表示精度您尝试过什么?显示您的代码。[无论如何,将其传递给开发人员的文件化需求需要完成]