-2

我刚刚弄明白了:

$dates = date(" d-m-y",$forum_tid);
if ($dates == date(' d-m-y')) {
    $day_name = 'This day';
} else if($dates === date(" d-m-y", strtotime("-1 day"))) {
   $day_name = 'Yesterday';
} else {
    $day_name = 'Another day';
}
echo "$day_name";

现在它按 24 小时时钟系统运行。现在我希望它按日期工作。(如果时间是同一天,则显示“今天”,如果是 f.ex 23-08-13 之前的日期,则显示“昨天”)

我该怎么做?希望这是更多人想知道的问题!

4

2 回答 2

1

DateTime班级:

$date = new DateTime();
$date->setTimestamp($forum_tid);

$today = new DateTime();
$yesterday = new DateTime('-1day');

switch(TRUE) {

    case $today->format('m-d') === $date->format('m-d'):
        $day_name = 'This day';
    break:

    case $yesterday->format('m-d') === $date->format('m-d'):
        $day_name = 'Yesterday';
    break;

    default:
        $day_name = 'Another day';

}

echo "$day_name";
于 2013-08-23T22:10:25.753 回答
-1

不要使用 === 进行字符串比较。

你可以得到 12 点钟

strtotime(date("Y-m-d"));

所以你可以这样做:

if(strtotime($mydate) > strtotime(date("Y-m-d"))) {
    echo "Today";
} elseif(strtotime($mydate) > strtotime(date("Y-m-d", strtotime("-1 day")))) {
    echo "Yesterday";
} elseif(strtotime($mydate) > strtotime(date("Y-m-d", strtotime("-1 week")))) {
    echo "In the last week";
} else {
    echo "Older";
}
于 2013-08-23T22:09:41.440 回答