我建立一个测验系统,PHP来计算的剩余时间框架
上表中的字段是:
ID,标题,描述,状态,创建,结束
的逻辑就是这样的:
一个测验仅持续一周,它会在一周的最后一天自动结束(我在星期六24:00考虑),并且管理员应该在任何一天的测验中输入测验周,如果它是在Wedne上输入的星期天在下午1点说,那么系统应该计算剩余的时间范围(在这种情况下大约需要83小时),然后将其添加到当前时间()以插入到“结束”字段。
我在正确的轨道上?如果我是,我应该如何计算PHP中剩余的时间框架?
感谢
我建立一个测验系统,PHP来计算的剩余时间框架
上表中的字段是:
ID,标题,描述,状态,创建,结束
的逻辑就是这样的:
一个测验仅持续一周,它会在一周的最后一天自动结束(我在星期六24:00考虑),并且管理员应该在任何一天的测验中输入测验周,如果它是在Wedne上输入的星期天在下午1点说,那么系统应该计算剩余的时间范围(在这种情况下大约需要83小时),然后将其添加到当前时间()以插入到“结束”字段。
我在正确的轨道上?如果我是,我应该如何计算PHP中剩余的时间框架?
感谢
可以使用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;
如果我正确地理解了这个问题,即你想结束日期存储在数据库然后,这不仅可以实现与
$结束= strtotime(“+ 1周”);
请注意,星期六的24:00不存在。时间从星期六的23点59分59秒到星期日的00点00分。
无需手动添加时间。测验创建后,您可以使用$end_time = strtotime('next Sunday');
获得测验结束的时间(周日上午00:00:00)。
这一个作品,谢谢你。顺便说一句,得到的时候,我应该除以3600不应该? – littlechad 2011-01-12 09:27:34