我正在使用 MVC 4 (C#) 构建在线考试应用程序,但在执行考试时间限制(持续时间)时遇到问题。最简单的方法是让服务器存储开始时间(在服务器 UTC 时间中),并让客户端使用从 UTC 转换的时间戳计算结束日期。问题是,这种方法没有考虑日历问题,例如时区、服务器/客户端之间的时钟不同步、闰年和所有爵士乐。
示例:用户以 60 分钟的时间限制开始考试。服务器应该知道开始时间(在控制器操作中)并在考试持续时间结束时进行服务器端验证。同时,客户端应显示倒计时(javascript?),并在达到限制时终止考试。
我按照这个例子,但它只将服务器时间转换为客户端时区。如果客户端的时钟不同步,我们就有问题了。将其转换为我的考试环境意味着考试的持续时间不会精确到 60 分钟,甚至可能相差 +/- 小时。
关于最好的方法可能是什么的任何想法?非常感谢代码示例。
顺便说一句,我对 MVC/javascript 很陌生。