【问题标题】:How to sort dates by Month & Day in Kotlin如何在 Kotlin 中按月和日对日期进行排序
【发布时间】:2021-07-25 05:45:18
【问题描述】:

我有一个格式为date = 01-06-2021 的日期。我使用 list.sortedBy { it.date } kotlin function 对其进行排序。 但它给了我这样的感觉

01-06-2021
01-07-2021
01-08-2021
02-06-2021
02-07-2021
02-08-2021

我需要像下面这样排序

01-06-2021
02-06-2021
01-07-2021
02-07-2021
01-08-2021
02-08-2021

按月排序,而不是按天排序。 我是否需要将整个日期与日、月、年分开然后排序?它有很多数据要做,这些来自firebase实时数据库。有什么建议吗?

【问题讨论】:

  • 看看这个Question对你有没有帮助

标签: android date sorting kotlin


【解决方案1】:

list.sortedBy { it.date } 将不起作用,因为日期是字符串格式。您必须将字符串转换为日期,如下所示"

list.sortedBy {
            val sdf = SimpleDateFormat("dd-MM-yyyy")
            sdf.parse(it.date).time
        }

【讨论】:

    【解决方案2】:

    您想要实现的目标可以简单地由 Date 对象本身完成,因为默认类声明已经以您想要的方式实现了 Comparable<Date>

    list.sorted()
    

    您还可以根据纪元毫秒对日期进行排序:

    list.sortedBy { it.time }
    

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 2017-05-26
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多