我想在网站的页脚放上版权声明,但我觉得年份过时会显得非常俗气。
我该如何使用PHP使年份自动更新?
我该如何使用PHP使年份自动更新?
<?php echo date("Y"); ?>
另外提一下,当使用PHP格式化日期时,如果想要将日期格式化为与默认设置不同的语言环境,就需要使用setlocale和strftime。根据PHP手册中对于date函数的说明:
如果要将日期格式化为其他语言, 应该使用setlocale()和strftime() 函数,而不是date()。
从这个角度来看,我认为最好尽可能地使用strftime,如果你的应用程序有远程本地化的可能性。如果没有这个问题,那就选择你最喜欢的一个。
<?php echo 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 echo '© 2008',($year = gmdate("Y")) !== '2008'? ' - '.$year : '',' Me, Inc.'; ?>
- ale5000随着PHP朝着更加面向对象的方向发展,我惊讶地发现在这里没有人提到内置的DateTime
类:
$now = new DateTime();
$year = $now->format("Y");
或者通过在实例化时访问类成员的一行代码(PHP>=5.4):
$year = (new DateTime)->format("Y");
这个代码会给你本地时间:
$year = date('Y'); // 2008
还有这个UTC:
$year = gmdate('Y'); // 2008
对于4位数的表示:
<?php echo date('Y'); ?>
两位数表示:
<?php echo date('y'); ?>
查看php文档以获取更多信息:https://secure.php.net/manual/zh/function.date.php
这是我做的:
<?php echo date("d-m-Y") ?>
下面是对其功能的一点解释:
d = day
m = month
Y = year
Y会给你四位数字(例如1990),而y则表示两位数字(例如90)。
echo date('Y')
可以获取当前年份,由于date()
会返回当前日期,因此年份也会自动更新。
echo date("Y");
- doub1ejackphp.ini
文件中设置默认时区,比如date.timezone = "America/Los_Angeles"
,或者在代码开头用date_default_timezone_set( "America/Los_Angeles" )
来设置。 - Joshua Pinter