【问题标题】:How to group items of Arraylist of time in HashMap in Kotlin?如何在 Kotlin 的 HashMap 中对时间的 Arraylist 项进行分组?
【发布时间】:2017-09-08 11:03:06
【问题描述】:

我需要将时间分组在一起,例如 02:10 PM,02:30 PM 应该在 02:00 PM - 03:00 PM 分组。我得到的所有时间都是 yyyy-MM-dd'T'HH:mm:ss.SSS+00:00 格式。如何以 02:10 PM 格式将时间组合在一起?

目前我将它们转换为 hh:mm aa 格式并得到列表,如何将它们分组到 Arraylists 中,最后将它们存储在 Map 中,以便我可以在 Recyclerview 中列出时间?

【问题讨论】:

    标签: android hashmap kotlin


    【解决方案1】:

    尝试这样的事情(给定items,时间值存储在timeString):

    val format = SimpleDateFormat("hh:mm aa")
    val calendar = GregorianCalendar.getInstance()
    
    val groups = items.groupBy { item ->
        val date = format.parse(item.timeString)
        calendar.setTime(date)
        calendar.get(Calendar.HOUR_OF_DAY)
    }
    

    (runnable demo)

    见:

    【讨论】:

    • 如何在当前 02:00 - 03:00 PM 组中也获得 03:00 PM?任何想法@hotkey?
    • @SirajSumra,见another demo,我使用格式化字符串作为组键。不过,您可能需要调整设置小时的逻辑。
    • 您的解决方案确实有效。但是在项目的选择上存在问题。你能看看这个问题吗:stackoverflow.com/questions/46217375/…
    猜你喜欢
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2015-03-20
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多