使用倒计时日期保存当前进度 - 进度条引导程序 4

Posted

技术标签:

【中文标题】使用倒计时日期保存当前进度 - 进度条引导程序 4【英文标题】:Save the current progression with countdown date - progress bar bootstrap 4 【发布时间】:2021-06-27 04:42:42 【问题描述】:

我想使用进度条引导程序 4 创建动态倒计时日期进度 我们可以设置百分比以使用宽度样式在标签上显示进度,但输入将使用日期格式(它将在管理员中插入)。所以这就是我所做的:

    当在管理员上插入日期时,我接受它,然后在 JS 上我进行计算以获取秒数,即 “(在管理员上插入的截止日期)-(现在的当前日期时间)” = 我将从这里获得剩余时间的动态(以秒为单位)

        var countTime = #(properties.countdown_date.to_datetime.strftime('%a, %d %b %Y %H:%M:%S').to_time - Time.now.to_datetime.strftime('%a, %d %b %Y %H:%M:%S').to_time).to_i
    

    properties.countdown_date = 是在admin上插入的调用截止日期的方法,格式示例为:DD-MM-YY H:M:S (31-03-2021 14:15:00)

    countTime 放入宽度样式

    <div class="progress" style="height: 1.3rem">
      <div aria-valuemax="100" aria-valuemin="0" aria-valuenow="25" class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar">
      </div>
    </div>
    
    $(".progress-bar").css("width", countTime+"%");
    

但我意识到百分比仍然是秒数,所以我需要将其再次转换为从 100% 开始的百分比除以时间的剩余秒数。 知道怎么做吗?谢谢

【问题讨论】:

您需要三个 date_time 值来生成百分比值。开始时间、当前时间、倒计时日期。 countdown_date 已经存在,即var countTime.. countTime 是从开始时间 - 当前时间.. 的计算结果以秒为单位 您的倒计时开始时间存储在哪里? 从管理员插入,将使用方法properties.countdown_date.. 调用,格式为:DD-MM-YY H:M:S.. example= 31-03-2021 14: 15:00 我已经得到了倒计时的剩余时间,但它仍然以秒为单位。我需要转换为除以 100% 的百分比值。所以当countTime 达到 0 秒时,它将变为 100% 【参考方案1】:

假设countdown_date是deadline值,deadline_created_at_time是deadline创建时的时间戳,在ActiveSupport::TimeWithZone

然后

total_time_in_sec = countdown_date.to_i - deadline_created_at_time.to_i
time_past = Time.now.to_i - deadline_created_at_time.to_i
percentage = time_past/total_time_in_sec.to_f*100

【讨论】:

以上是关于使用倒计时日期保存当前进度 - 进度条引导程序 4的主要内容,如果未能解决你的问题,请参考以下文章

h5 Canvas实现圆形时间倒计时进度条

Linux小练习进度条程序

YCProgress自定义百分比进度条

使用引导进度条以模态显示上传进度

Linux | 手把手教你写一个进度条小程序

python之 loading进度条加载,和倒计时