首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateTime减法与转换

DateTime减法与转换
EN

Stack Overflow用户
提问于 2013-11-02 06:21:55
回答 1查看 260关注 0票数 0

很难把题目中的问题说出来,但情况是这样的:我正在做一个三层考试网站的后台工作。当学生要求考试时,我正在更新我的函数。考试有开始和结束的日期和时间,也有时间限制。我想要做的是,当考试期间剩下的时间少于考试的时间限制时,考试时间就会在下午5:00结束。现在时间是下午4:30考试时间限制是一个半小时。我想用30分钟代替一个半小时的时间限制。要做到这一点,我需要3次约会,我将解释如何获得每一次约会:

  • 函数页的时间戳。当控制器调用我的页面时,在打开会话后,我将默认时区设置为美国/纽约(我的区域)。为了获得时间戳,我使用以下代码: $date =date(‘Y-m:I:S’); $currenttime = date('H:i:s',strtotime($date));
  • 我使用对数据库的函数调用来获取时间限制和考试结束的时间(我还使用其他比较的日期来检查考试可用性)。测试结束时间存储在结果数组$res10中,时间限制存储在$res11中。
  • 假设考试的到期日等于时间戳的日期,并且处于考试期间(我在此之前执行了2次检查),我希望检查当前时间与考试结束之间的差异是否小于时间限制。如果考试结束前的时间少于时间限制,我想把这段时间作为新的时间限制。我的前端期望我的结果是HH:mm:ss (php的等效值是H:i:s)。所以,如果考试结束还有30分钟,时间限制是一个半小时,我希望新的时限是30分钟(或00:30:00)。我的代码目前没有按要求工作。我正在满足if声明的标准,这是我想要的结果。当我将它转换成表格H:i:s时,问题似乎就出现了(我一直在19:00左右得到结果)。我读过的每一篇文章都建议这样做,但我可能遗漏了一些东西。 $compareTime = strtotime($res10) - strtotime($currenttime);if(compareTime

如果有更好的方法来做这件事,我很想知道。我对php相当陌生,而且我承认,我意识到这可能是一个奇怪的问题,但这正是该小组决定采用的方式。

EN

回答 1

Stack Overflow用户

发布于 2013-11-02 06:46:50

可能是因为数据库和PHP服务器使用不同的时区。通过打印这些变量来查看它们的值来检查它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19739515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档