我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。
如何在php4或php5中自动更新年份?
我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。
如何在php4或php5中自动更新年份?
当前回答
如果你的服务器支持短标签,或者你使用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.
要使用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年,等等。
print date('Y');
有关更多信息,请查看date()函数文档:https://secure.php.net/manual/en/function.date.php
随着PHP朝着更面向对象的方向发展,我很惊讶这里没有人引用内置的DateTime类:
$now = new DateTime();
$year = $now->format("Y");
或者在实例化时使用类成员访问的一行程序(php>=5.4):
$year = (new DateTime)->format("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')
?>