我试着根据一个小时来显示一些内容。这个小时来自DB作为string字段。如果当前时间匹配或传递来自DB的时间,则应该显示某个内容,否则将是默认内容
到目前为止我尝试过的是:
$time = strtotime($p_objetct->getHour());
//we check if this has already passed to
//retrieve corresponding content else we display default content
if ($time >= date("h:i:sa")) {
echo 'time to display new content !';
}else{
echo 'display content default';
}这段代码不能正常工作,因为如果我想在20:00显示新内容,那么当当前时间是08:00:00时,第一个条件是真的。
我也试过
$time = strtotime(p_objetct->getHour());
$selection = floor((date('G',$time) / 2));
switch ($selection) {
case 0:
echo 'time between 0-2!';
break;
case 1:
echo 'time between 2-4!';
break;
case 2:
echo 'time between 4-6!';
break;
case 3:
echo 'time between 6-8!';
break;
case 4:
echo 'time between 8-10!';
break;
case 5:
echo 'time between 10-12!';
break;
case 6:
echo 'time between 12-14!';
break;
case 7:
echo 'time between 14-16!';
break;
case 8:
echo 'time between 16-18!';
break;
case 9:
echo 'time between 18-20!';
break;
case 10:
echo 'time between 20-22!';
break;
case 11:
echo 'time between 22-24!';
break;
}但这不是一个好方法,因为我无法猜到在这种情况下,DB的时间将是..。
欢迎任何想法!
编辑:
我有两个内容(新的和默认的)。新内容应从DB开始显示到00:00:00,然后是默认内容。
发布于 2017-05-23 15:01:59
如果您只从$p_objetct->getHour()方法获得24小时格式的小时,那么您可以简单地将其与date('H');进行比较。
如果你有精确的匹配,你可以使用:
<?php
$hourToCheck = $p_objetct->getHour();
$currentHour = date('H'); // As of PHP manual "H" returns the hour in 24h format
$contentToDisplay = "What ever you wanna display as default.";
if ($hourToCheck === $currentHour) {
$contentToDisplay = "Your matching content.";
}如果您需要它作为一个较低的时间,可以随意使用和更改这个片段:
<?php
$hourToCheck = $p_objetct->getHour();
$currentHour = date('H'); // As of PHP manual "H" returns the hour in 24h format
$contentToDisplay = "What ever you wanna display as default.";
if ($hourToCheck <= $currentHour) {
$contentToDisplay = "Your matching content 1.";
}发布于 2017-05-23 10:53:31
您可以尝试根据时间设置一个具有名称的变量,将现有文件与该名称匹配,并使用php来要求它。如下所示:
<?php
$time = date('H',time());
$name_of_content_to_require = false;
switch ($time) {
case 0:
$name_of_content_to_require = '0-2';
break;
case 1:
$name_of_content_to_require = '2-4';
break;
case 2:
$name_of_content_to_require = '4-6';
break;
case 3:
$name_of_content_to_require = '6-8';
break;
case 4:
$name_of_content_to_require = '8-10';
break;
case 5:
$name_of_content_to_require = '10-12';
break;
case 6:
$name_of_content_to_require = '12-14';
break;
case 7:
$name_of_content_to_require = '14-16';
break;
case 8:
$name_of_content_to_require = '16-18';
break;
case 9:
$name_of_content_to_require = '18-20';
break;
case 10:
$name_of_content_to_require = '20-22';
break;
case 11:
$name_of_content_to_require = '22-24';
break;
}
if( $name_of_content_to_require ) {
require_once __DIR__ . $name_of_content_to_require . '.php';
} else {
die('with some error, or throw an exception');
}https://stackoverflow.com/questions/44132396
复制相似问题