我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。
如何在php4或php5中自动更新年份?
我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。
如何在php4或php5中自动更新年份?
当前回答
这个给出了当地时间:
$year = date('Y'); // 2008
这个UTC:
$year = gmdate('Y'); // 2008
其他回答
随着PHP朝着更面向对象的方向发展,我很惊讶这里没有人引用内置的DateTime类:
$now = new DateTime();
$year = $now->format("Y");
或者在实例化时使用类成员访问的一行程序(php>=5.4):
$year = (new DateTime)->format("Y");
全年使用:
<?php
echo $curr_year = date('Y'); // it will display full year ex. 2017
?>
或者只得到两位年份,就像这样:
<?php
echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>
如果你的服务器支持短标签,或者你使用PHP 5.4,你可以使用:
<?=date("Y")?>
我的超级懒惰版本显示版权行,自动保持更新:
© <?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+)一种使用匿名函数的紧凑方法,这样你就不会有变量泄露,也不会重复代码/常量:
©
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>
Me, Inc.
可以使用date或strftime。在这种情况下,我会说这并不重要,因为一年是一年,无论如何(除非有一个地区格式的年不同?)
例如:
<?php echo date("Y"); ?>
另一方面,在PHP中格式化日期时,如果您希望使用不同于默认语言环境的语言环境格式化日期,则很重要。如果是,你必须使用setlocale和strftime。根据php手册日期:
要设置其他语言的日期格式, 您应该使用setlocale()和 Strftime()函数代替 日期()。
从这个角度来看,我认为最好尽可能多地使用strftime,如果您有很小的可能不得不本地化您的应用程序。如果这不是问题,那就选一个你最喜欢的。