首页 > 解决方案 > 使用 Kotlin 的 Android Joda-Time

问题描述

我正在尝试创建一个函数来检查给定的字符串时间HH:mm与现在相比是否在另一个范围内。

示例:如果当前时间在 12:35 和 15:00 之间,则返回 true

但即使当前时间在范围内,我总是会出错

fun isTimeInRange(before: String, after: String): Boolean {
    val now = DateTime.now()
    val format = DateTimeFormat.forPattern("HH:mm")
    return now >= DateTime.parse(before, format) && now <= DateTime.parse(after, format)
}

标签: androiddatetimekotlinjodatime

解决方案


你需要做:

fun isTimeInRange(before: String, after: String): Boolean {
    val now = DateTime.now()
    val format = DateTimeFormat.forPattern("HH:mm")
    return now.isAfter(DateTime.parse(before, format)) && now.isBefore(DateTime.parse(after, format))
}

或使用间隔


推荐阅读