php在不同的日期回应不同的内容

时间:2013-08-07 23:24:22

标签: php date if-statement echo

我使用此日期格式回应示例:2013年8月8日星期四

$day = date("l jS F Y");

我想在不同的日期回应不同的内容

例如,如果是2013年12月25日星期三,我可以回应“圣诞快乐”

这是我试过的,但这个时间格式是(Y-m-d = 2013-25-12) 我还尝试在2013年12月25日星期三加入。

如果使用$ day = date(“l jS F Y”),那么$ day的日期格式应该是什么;

<p><?php if( $day == '2013-25-12' ) 
echo 'action="Merry Christmas"';      
?></p>

6 个答案:

答案 0 :(得分:4)

使用strtotime()date()获取与您的$ day相比较的格式相似的日期:

<?php if( $day === date("l jS F Y", strtotime('2013-25-12'))) {
    echo 'Merry christmas!';
} ?>

查看日期功能的php文档。它包含格式规范:http://php.net/manual/en/function.date.php

答案 1 :(得分:3)

这是我想出的一些东西,你可以添加项目。

欢迎您使用它。 (我喜欢这些有趣的项目)。

<?php
$date = date("m,d"); // month/day format
if($date == "08,07"){
     echo "It is today";
}

elseif($date == "02,14"){
     echo "It is valentine's Day";
}

elseif($date == "12,25"){
     echo "It is Christmas Day";
}
else{
     echo "It is not a holiday";
}
?>

脚注:这只是一个额外的选项,而不会从Tonithy's answer中删除。


答案 2 :(得分:1)

由于$ day返回星期几,你不能用它来说圣诞快乐,如果你这样做,只会在圣诞节说“圣诞快乐”,如果它是星期四。所以写一个单独的开关函数,如下所示:

switch(date("m/d")){
  case '12/25':
    echo "merry christmas";
    break;
  //add other holidays
}

答案 3 :(得分:0)

答案 4 :(得分:0)

这样做的一个例子是:

<?php
if (date('Y') == 2013 && date('d') == 25 && date('m') == 12)
{
  echo 'Merry christmas!';
}
?>

如另一个答案所述,请参阅文档(http://php.net/manual/en/function.date.php)以获取更多示例

答案 5 :(得分:0)

我目前正处于DateTime广告系列中,所以这是我的版本: -

if((new \DateTime())->format('d m') === '25 12'){
    echo "Merry Christmas!";
}

如果你想添加一些不同的假期(作为我添加了复活节的小额奖励),在Switch:Case块中可能会有点整洁: -

$easter = (new \DateTime())->setTimestamp(easter_date())->format('d m');

switch((new \DateTime())->format('d m')){
    case '25 12';
        echo "Merry Christmas";
        break;
    case '14 02':
        echo "Happy Valentines Day!";
        break;
    case $easter:
        echo 'Happy Easter';
        break;
    default:
        echo 'No Holiday Today';
}

See it working