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

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


当前回答

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

&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.

其他回答

<?php
$time_now=mktime(date('h')+5,date('i')+30,date('s'));
$dateTime = date('d_m_Y   h:i:s A',$time_now);

echo $dateTime;
?>

创建一个helper函数并调用它

getCurrentYear();

function getCurrentYear(){
    return now()->year;
}

以我为例,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 echo date("Y"); ?>

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

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

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

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