我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。

如何在php4或php5中自动更新年份?


当前回答

要使用PHP的日期函数获取当前年份,你可以像这样传入“Y”格式字符:

//Getting the current year using
//PHP's date function.

$year = date("Y");
echo $year;

上面的例子将打印出当前年份的完整的4位数字表示。

如果你只想检索2位数格式,那么你可以使用小写的“y”格式字符:

$year = date("y");
echo $year;
1
2
$year = date("y");
echo $year;

上面的代码片段将打印20而不是2020年,或者打印19而不是2019年,等等。

其他回答

适用于php 5.4+版本

<?php
    $current= new \DateTime();
    $future = new \DateTime('+ 1 years');

    echo $current->format('Y'); 
    //For 4 digit ('Y') for 2 digit ('y')
?>

或者你可以把它用在一行上

$year = (new DateTime)->format("Y");

如果你想增加或减少一年另一个方法;添加修改行如下所示。

<?PHP 
  $now   = new DateTime;
  $now->modify('-1 years'); //or +1 or +5 years 
  echo $now->format('Y');
  //and here again For 4 digit ('Y') for 2 digit ('y')
?>

随着PHP朝着更面向对象的方向发展,我很惊讶这里没有人引用内置的DateTime类:

$now = new DateTime();
$year = $now->format("Y");

或者在实例化时使用类成员访问的一行程序(php>=5.4):

$year = (new DateTime)->format("Y");
<?php echo date("Y"); ?>

如果你的服务器支持短标签,或者你使用PHP 5.4,你可以使用:

<?=date("Y")?>

我显示版权的方式,它会自动更新

<p class="text-muted credit">Copyright &copy;
    <?php
        $copyYear = 2017; // Set your website start date
        $curYear = date('Y'); // Keeps the second year updated
        echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
    ?> 
</p>    

它将输出结果为

copyright @ 2017   //if $copyYear is 2017 
copyright @ 2017-201x    //if $copyYear is not equal to Current Year.