0

我正在使用这种日期格式来回显示例:2013 年 8 月 8 日星期四

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

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

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

这是我尝试过的,但这个时间格式是(Ymd = 2013-25-12)我也尝试过添加 2013 年 12 月 25 日星期三。

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

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

6 回答 6

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

于 2013-08-07T23:26:56.087 回答
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";
}
?>

脚注:这只是一个额外的选择,而不是从托尼西的回答中拿走。


于 2013-08-08T00:00:59.207 回答
1

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

switch(date("m/d")){
  case '12/25':
    echo "merry christmas";
    break;
  //add other holidays
}
于 2013-08-07T23:32:05.030 回答
0

尝试使用strtotime PHP 函数

于 2013-08-07T23:28:39.467 回答
0

这样做的一个例子是:

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

正如另一个答案所说,有关更多示例,请参阅文档(http://php.net/manual/en/function.date.php )

于 2013-08-07T23:29:13.103 回答
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';
}

看到它工作

于 2013-08-08T05:46:08.520 回答