Jos*_*eph 1 sorting android android-date kotlin
在使用 Kotlin 的 Android 应用程序开发中,这将是对 JSON 数组进行排序的有效方法,该数组将日期作为属性值的对象。
我想按日期对我的回复进行排序并选择最新创建的项目。例如,我的列表响应是
[
{
name : "Joseph"
enrolled_at : "2019-12-17 14:16:51"
},
{
name : "Infant"
enrolled_at : "2019-12-20 10:06:22"
},
{
name : "Raj"
enrolled_at : "2020-02-10 07:19:16"
}
]
Run Code Online (Sandbox Code Playgroud)
我想用“enrolled_at”属性日期对此进行排序,以获取最近注册的项目。最初的反应很大,所以我在这里无法得到真正的反应。
使用 Kotlin 对日期进行排序的有效方法是什么?尝试使用Kotlin 中的sortedWith和其他集合。寻找建议。
小智 8
首先,您需要创建将该字符串转换为日期的方法,以便您的数组可排序。
假设您将该 JSON 转换为以下类型的用户列表:
data class User(val name: String, val enrolled_at: String)
Run Code Online (Sandbox Code Playgroud)
使用 Kotlin 中创建扩展的功能,您可以创建以下 String 方法扩展:
fun String.toDate(): Date{
return SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).parse(this)
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过执行以下操作按日期升序对用户列表进行排序:
users.sortedBy { it.enrolled_at.toDate() }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2708 次 |
| 最近记录: |