我从服务器响应中以字符串形式获取时间戳,例如..
KS100V1C1-2C3AE8176DC1\1 {"timestamp":"3:7:2021 16:01:38","ChannelId_1":100}
KS100V1C1-2C3AE8176DC1\1 {"timestamp":"3:7:2021 16:01:48","ChannelId_1":100}
KS100V1C1-2C3AE8176DC1\1 {"timestamp":"3:7:2021 16:01:58","ChannelId_1":100}
我在 10 秒的间隙内得到了这个,如图所示是响应 38 秒、48 秒、58 秒......
我想检查时间戳是否是今天的并且是当前时间的 10 秒以下的时间。就像时间戳"3:7:2021 16:01:38"
和当前时间一样,"3:7:2021 16:01:48"
它应该让我返回真实。
我已将String
toDate
然后转换为Long
这样的:
fun convertTimeToLong(time: String) : Long {
val formatter: DateFormat = SimpleDateFormat("dd:mm:yyyy hh:mm:ss")
val date = formatter.parse(time) as Date
Log.d("LongTime : ", date.time.toString())
return date.time
}
并检查时间是否低于 10 秒,我尝试了这个:
private val TEN_SECONDS = 10 * 60 * 10000
fun isTimeUnder10Seconds(timeStamp: Long): Boolean {
val tenAgo: Long = System.currentTimeMillis() - TEN_SECONDS
if (timeStamp < tenAgo) {
Log.d("10Seconds ?"," is older than 10 seconds")
return true
} else {
Log.d("10Seconds ?"," is not older than 10 seconds")
return false
}
}
但这似乎没有按预期工作。请帮忙。谢谢..