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

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


当前回答

用M打印当前月份,用D打印日期,用Y打印年份。

<?php echo date("M D Y"); ?>

其他回答

我的超级懒惰版本显示版权行,自动保持更新:

&copy; <?php 
$copyYear = 2008; 
$curYear = date('Y'); 
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.

今年(2008年),它会说:

©2008 Me, Inc

明年,它会说:

©2008-2009 Me, Inc

并且永远保持当前年份的更新。


或者(PHP 5.3.0+)一种使用匿名函数的紧凑方法,这样你就不会有变量泄露,也不会重复代码/常量:

&copy; 
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> 
Me, Inc.
strftime("%Y");

我喜欢strftime。这是一个抓取/重新组合日期/时间块的很棒的函数。

此外,它尊重区域设置,日期函数不这样做。

对于4位数表示:

<?php echo date('Y'); ?>

2位数表示:

<?php echo date('y'); ?>

查看php文档了解更多信息: https://secure.php.net/manual/en/function.date.php

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

<?=date("Y")?>

适用于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')
?>