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

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


当前回答

echo date('Y')给你当前年份,这将自动更新,因为date()给我们当前日期。

其他回答

以我为例,wordpress网站页脚的版权声明需要更新。

想法很简单,但涉及的步骤比预期的要多。

Open footer.php in your theme's folder. Locate copyright text, expected this to be all hard coded but found: <div id="copyright"> <?php the_field('copyright_disclaimer', 'options'); ?> </div> Now we know the year is written somewhere in WordPress admin so locate that to delete the year written text. In WP-Admin, go to Options on the left main admin menu: Then on next page go to the tab Disclaimers: and near the top you will find Copyright year: DELETE the © symbol + year + the empty space following the year, then save your page with Update button at top-right of page. With text version of year now delete, we can go and add our year that updates automatically with PHP. Go back to chunk of code in STEP 2 found in footer.php and update that to this: <div id="copyright"> &copy;<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?> </div> Done! Just need to test to ensure changes have taken effect as expected.

这对很多人来说可能不是同样的情况,但是我们在相当多的客户站点中遇到过这种模式,并且认为最好在这里记录。

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

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

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

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

顺便说一句……网站版权展示有几种合适的方式。有些人倾向于让事情变得多余,例如:版权©具有相同的含义。重要的版权部分包括:

**Symbol, Year, Author/Owner and Rights statement.** 

使用PHP + HTML:

<p id='copyright'>&copy; <?php echo date("Y"); ?> Company Name All Rights Reserved</p>

or

<p id='copyright'>&copy; <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p

适用于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 5.4,你可以使用:

<?=date("Y")?>