根据当前日期对日期数组进行排序

用户3

我有一个数组:

| YYYY-MM-DD || YYYY-MM-DD || YYYY-MM-DD || ... || .... ||...。

现在,我查询系统的当前日期,并基于该日期,我希望对数组进行排序,年份无关紧要,月份和日期很重要。我想要最近的日期在索引0和最远的日期在最后。

假设有三个日期1999-04-04、1789-03-01、2012-05-04

如果是四月:排序后的数组应类似于

1999-04-04、2012-05-04、1789-03-01。

我在寻找逻辑,而不是在做功课。我读了很多关于这个主题的书,但是我无法设计出一条路。帮助将不胜感激。

智者

我希望对数组进行排序,年份无关紧要,月份和日期很重要。我想要最近的日期在索引0和最远的日期在最后。

您将需要首先基于月和日进行排序:在比较任意两个Dateঃ时

首先对日期列表进行排序:

  1. 比较月份,如果不相等,则返回差异(month1-month2)作为比较结果
  2. 如果月份相等,则返回月份中的天数作为比较结果

因此compareTo(Date o),实现的功能Comparable<Date>将如下所示:

    @Override
    public int compareTo(Date o) {
    Calendar cal1 = Calendar.getInstance();
    cal1.setTime(this.date);
    Calendar cal2 = Calendar.getInstance();
    cal2.setTime(o);

    int month1 = cal1.get(Calendar.MONTH); 
    int month2 = cal2.get(Calendar.MONTH);

    if(month1 < month2) 
      return -1;
    else if(month1 == month2) 
      return cal1.get(Calendar.DAY_OF_MONTH) - cal2.get(Calendar.DAY_OF_MONTH);

    else return 1; 

  }

排序后,您可以将列表四舍五入,认为它是循环的。例如,假设排序列表(不相关的年份不包括在内):

JAN 20, FEB 5, SEP 18, OCT 9, OCT 20, NOV 23

如果我们的数据透视表(关闭日期与日期比较)OCT 11选择的是即时的较大(最小日期大于数据透视表)日期,则为OCT 20您可以使用for循环找到它。现在,我们只需要四舍五入就认为它是循环的:

OCT 20, NOV 23 --> JAN 20, FEB 5, SEP 18, OCT 9

形式上,发现该指数i即时较大日期根据月和日(尝试使用的compareTo例子),然后创建一个新的列表,插入从索引开始元素在比较我们的支点in-1,然后0i-1,这里n是的大小日期列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对日期数组进行排序

来自分类Dev

如何通过PHP对日期数组进行排序?

来自分类Dev

使用asort()对日期数组进行排序

来自分类Dev

根据当前日期排序数组

来自分类Dev

Swift - 根据日期数组对不同的数组进行排序

来自分类Dev

根据当前日期以升序和降序对列进行排序

来自分类Dev

SQL Server根据当前日期对数据进行排序

来自分类Dev

如何在iOS中以升序对日期数组进行排序

来自分类Dev

使用 BigQuery 对日期数组进行子查询

来自分类Dev

在不更改日期格式的情况下对日期数组进行排序(无前导0)?-Javascript

来自分类Dev

如何根据日期对日期进行分组?

来自分类Dev

对日期为JavaScript的字符串数组进行排序

来自分类Dev

使用asort()对日期进行排序的数组无法正常工作

来自分类Dev

如何在android中以每周为基础对日期数组列表中的条目进行计数

来自分类Dev

根据当前日期提交表单时,在phpmyadmin数据库中插入星期数

来自分类Dev

获取当前日期/时间和结束日期/时间之间的小时、天、周、月的日期数组

来自分类Dev

XSLT:如何对日期进行排序

来自分类Dev

按升序对日期进行排序

来自分类Dev

在AngularJS前端中对日期进行排序

来自分类Dev

无法使用结构对日期进行排序

来自分类Dev

根据日期对JavaScript对象数组进行排序

来自分类Dev

根据日期对对象数组进行排序

来自分类Dev

根据日期对对象数组进行排序

来自分类Dev

排序日期数组排序升序迅速

来自分类Dev

日期 <> 当前日期

来自分类Dev

根据出生日期和当前日期进行年龄验证

来自分类Dev

根据当前日期获取 JSON 对象

来自分类Dev

如何在Objective C中将日期与日期数组进行比较/排序

来自分类Dev

用0的月份或日期对日期进行排序

Related 相关文章

  1. 1

    对日期数组进行排序

  2. 2

    如何通过PHP对日期数组进行排序?

  3. 3

    使用asort()对日期数组进行排序

  4. 4

    根据当前日期排序数组

  5. 5

    Swift - 根据日期数组对不同的数组进行排序

  6. 6

    根据当前日期以升序和降序对列进行排序

  7. 7

    SQL Server根据当前日期对数据进行排序

  8. 8

    如何在iOS中以升序对日期数组进行排序

  9. 9

    使用 BigQuery 对日期数组进行子查询

  10. 10

    在不更改日期格式的情况下对日期数组进行排序(无前导0)?-Javascript

  11. 11

    如何根据日期对日期进行分组?

  12. 12

    对日期为JavaScript的字符串数组进行排序

  13. 13

    使用asort()对日期进行排序的数组无法正常工作

  14. 14

    如何在android中以每周为基础对日期数组列表中的条目进行计数

  15. 15

    根据当前日期提交表单时,在phpmyadmin数据库中插入星期数

  16. 16

    获取当前日期/时间和结束日期/时间之间的小时、天、周、月的日期数组

  17. 17

    XSLT:如何对日期进行排序

  18. 18

    按升序对日期进行排序

  19. 19

    在AngularJS前端中对日期进行排序

  20. 20

    无法使用结构对日期进行排序

  21. 21

    根据日期对JavaScript对象数组进行排序

  22. 22

    根据日期对对象数组进行排序

  23. 23

    根据日期对对象数组进行排序

  24. 24

    排序日期数组排序升序迅速

  25. 25

    日期 <> 当前日期

  26. 26

    根据出生日期和当前日期进行年龄验证

  27. 27

    根据当前日期获取 JSON 对象

  28. 28

    如何在Objective C中将日期与日期数组进行比较/排序

  29. 29

    用0的月份或日期对日期进行排序

热门标签

归档