繁体   English   中英

如何在日期/时间范围内显示进度/搜索栏 android

[英]How to show progress in Date/time range in progress/seek bar android

我需要显示进度条时间流逝。 我有开始日期/时间和结束日期/时间,所以应该显示开始/日期/时间和结束/日期/时间之间的进度。 请有这方面经验的人帮忙。

start========(current time)=======end 

这就是它的样子:

您可以使用这个简单的小 function:

fun progress(start: LocalDateTime,
             end: LocalDateTime,
             now: LocalDateTime = LocalDateTime.now()): Double = when {
    now <= start -> 0.0
    now >= end -> 1.0
    else -> start.until(now, ChronoUnit.SECONDS) /
            start.until(end, ChronoUnit.SECONDS).toDouble()
}

它有3种不同的情况:

  1. now是在开始之前或等于start那么进度是0
  2. now在结束之后或等于end ,那么进度是1
  3. 计算(now - start) / (end - start)给出0-1范围内的分数

然后,您可以将该分数乘以100以获得百分比:

val progress = progress(start, end)
val percentage = (progress * 100).roundToInt()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM