我正在尝试使用以下方式在特定日期和时间(在Wordpress中)显示内容:
if (!function_exists('isStreaming')):
function isStreaming()
{
date_default_timezone_set('America/Mexico_City');
$getDateNow = date('Y-m-d');
$getDayNow = date('Y-m-d', strtotime($getDateNow));
$DateBegin = date('Y-m-d', strtotime("2016-06-28"));
$DateEnd = date('Y-m-d', strtotime("2016-06-28"));
if (($getDayNow >= $DateBegin) && ($getDayNow <= $DateEnd) && is_home()) {
locate_template(array('/layouts/home/streaming.php'), true);
} else {
locate_template(array('/layouts/home/ad-top.php'), true);
}
}
endif;
这将有效,内容将显示7月28日的整天。
但是当我试图在日期之外添加时间时,它只会显示任何一天的时间范围之间的内容,而不是尊重日期变量。
我想我终于实现了我想要的目标:D
<?php
if (!function_exists('isStreaming')):
function isStreaming()
{
date_default_timezone_set('America/Mexico_City');
$getDateNow = date('Y-m-d H:i');
$getDayNow = date('Y-m-d H:i', strtotime($getDateNow));
$DateBegin = date('Y-m-d H:i', strtotime("2016-06-27 08:00"));
$DateEnd = date('Y-m-d H:i', strtotime("2016-06-27 23:15"));
if (($getDayNow >= $DateBegin) && ($getDayNow <= $DateEnd) && is_home()) {
echo "YES $DateBegin";
} else {
echo "NO $getDayNow";
}
}
endif;
echo isStreaming();
?>
感谢您的想法:D
答案 0 :(得分:1)
好吧,只需使用time()并检查它的状态。
$now = time();
$start = strtotime("2016-06-28");
$finish = strtotime("2016-06-29");
if($now >= $start AND $now < $finish){
locate_template(array('/layouts/home/streaming.php'), true);
} else {
locate_template(array('/layouts/home/ad-top.php'), true);
}
答案 1 :(得分:0)
请使用DateTime:
$Now = new DateTime("now");
$DateBegin = new DateTime('2016-06-28'); //Add your time !
$DateEnd = new DateTime('2016-06-28'); //Add your time !
if($DateBegin <= $now && $DateEnd >= $now){
//is streaming ....
}