gpt4 book ai didi

javascript - 使用 Javascript 的倒计时器

转载 作者:行者123 更新时间:2023-12-02 17:05:14 25 4
gpt4 key购买 nike

我正在进行在线考试,我只想在考试开始时启动计时器,并希望在考试结束时结束我的 Controller 上的结束时间,并且我正在查看结束时间,我想在系统时间和结束时间之间启动计时器

Controller

public ActionResult TestStarted(int TestId,DateTime End_Time)
{
ViewBag.ct = 0;
ViewBag.TestId = TestId;

EAssessmentNew.BAL.StudentBal studBal = new EAssessmentNew.BAL.StudentBal();
EAssessmentNew.Dal.Student_Answer_Master _studAnsdal = new EAssessmentNew.Dal.Student_Answer_Master();


ViewBag.EndTime = End_Time;
}

查看

<script type="text/javascript">





var days, hours, minutes, seconds;


var countdown = document.getElementById("lblCtime");


setInterval(function () {


var current_date = new Date().getTime();
var seconds_left = ( @ViewBag.EndTime - current_date) / 1000;


days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;

hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;

minutes = parseInt(seconds_left / 60);
seconds = parseInt(seconds_left % 60);


countdown.innerHTML = days + "d, " + hours + "h, "
+ minutes + "m, " + seconds + "s";

}, 1000);
</script>

假设我有 EndTime 1:00 PM 和系统时间 12:00 PM,我如何在这两个时间之间启动计时器,因为我想将 EndTime 1:00 PM 转换为毫秒,因为脚本中的当前日期返回我的时间毫秒。

最佳答案

您需要做的是,每当用户单击“给予考试”时,将时间添加到您要给他的考试持续时间中(即考试开始时间下午 1 点,并且您给用户 1 小时的时间来完成考试,那么您需要传递时间为下午 1 点 + 1 小时以上的日期,以便从该日期时间开始计算以完成考试)并使用此函数将其作为结束日期传递

<script>
var end = new Date('08/14/2014 12:00 PM');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {

clearInterval(timer);
document.getElementById('countdown').innerHTML = 'EXPIRED!';

return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);

document.getElementById('countdown').innerHTML = days + 'days ';
document.getElementById('countdown').innerHTML += hours + 'hrs ';
document.getElementById('countdown').innerHTML += minutes + 'mins ';
document.getElementById('countdown').innerHTML += seconds + 'secs';
}

timer = setInterval(showRemaining, 1000);
</script>

结束日期将根据服务器日期时间自动计算,您无需担心本地时间。

DEMO1

DEMO2

关于javascript - 使用 Javascript 的倒计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25300923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com