PHP:写出年份,如果它不是来自当前年份,时间戳

时间:2011-01-13 20:23:53

标签: php

我希望只写出(Y)这一年,如果不是我们当前的那一年。

function get_day_name($timestamp) {
    $date = date('j-m-Y', $timestamp);
    if($date == date('j-m-Y')) {
      $day_name = 'Today';
      echo 'idag ';
    } else if($date == date('j-m-Y',time() - (24 * 60 * 60))) {
      $day_name = 'Yesterday';
      echo 'igår ';
    }else{
    # How can i check here whether the $timestamp is from this year or last year?
    # If it is from this year then it shouldnt write out the "Y" in $date
    echo $date;
    }
}

2 个答案:

答案 0 :(得分:2)

根据原帖中的评论

# How can i check here whether the $timestamp is from this year or last year?

我以为你问的是如何检查时间戳年份是从今年还是去年。所以,我认为你的意思是你想知道,例如,如果这一年是2011年或2010年。你真正想知道的是时间戳年是从今年,或任何其他年份,是2010年,2009年等

这是我的第一个答案,基于我的误解......

$current_year = date('Y');
$timestamp_year = date('Y', $timestamp);
if ($timestamp_year == $current_year || $timestamp_year == $current_year - 1)

这就是你想要的方式:

if (date('Y') == date('Y', $timestamp)) 

答案 1 :(得分:0)

您可以从当前年份减去$ timestamp year(反之亦然)。如果它们不同,结果将为非零,解析为真;如果它们是相同的,结果将为零,解析为假。

if (date('Y') - date('Y', $timestamp)) {
    echo date('j F Y', $timestamp);
} else {
    echo date('j F', $timestamp);
}