繁体   English   中英

php计算剩余的时间范围

[英]php to count the remaining time frame

我正在建立一个测验系统,

桌子上的字段是:

id,title,description,status,created,ended

逻辑是这样的:

一个测验只持续一周,它将自动在一周的最后一天结束(我想在星期六24:00),管理员应该在一周中的任何一天输入测验,如果它在周三输入说在01:00 pm,然后系统应该计算剩余的时间范围(在这种情况下它将是大约83小时)然后将其添加到当前时间()以插入到“已结束”字段。

我在正确的轨道上? 如果我是,我应该如何计算PHP中的剩余时间范围?

谢谢

您可以使用strtotime();获取时间戳strtotime(); 并使用参数'下周六',所以你可以通过这样做来计算剩余的时间:

$timeRemaining = strtotime('next saturday') - time();

这将给你一个以秒为单位的时间戳,你可以除以3600来获得时间。

在PHP> = 5.3.0上,您可以使用函数date_diff

在以前的版本中,您可以使用类似的东西

$date1 = time(); 
$date2 = mktime(0,0,0,01,28,2011);

$diff = $date2 - $date1;

您可以使用mktimestrtotime函数找到结束时间,并查找剩余时间

// Saturday, this week
$ends = strtotime('next saturday');
$remaining = $ends - time(); // Remaining time in seconds

如果我已正确理解了这个问题,即你希望将结束日期存储在数据库中,那么这不仅可以实现

$ ended = strtotime(“+ 1周”);

请注意,星期六24:00不存在。 时间从周六的23:59:59到周日的00:00:00。

无需手动添加时间。 创建测验时,您可以使用$end_time = strtotime( 'next Sunday' ); 获得测验结束的时间(周日早上00:00:00)。

暂无
暂无

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

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