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

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


当前回答

使用PHP函数date()。

它接受当前日期,然后你给它提供一个格式

格式是Y,大写的Y是四位数的年份。

<?php echo date("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

可以使用date或strftime。在这种情况下,我会说这并不重要,因为一年是一年,无论如何(除非有一个地区格式的年不同?)

例如:

<?php echo date("Y"); ?>

另一方面,在PHP中格式化日期时,如果您希望使用不同于默认语言环境的语言环境格式化日期,则很重要。如果是,你必须使用setlocale和strftime。根据php手册日期:

要设置其他语言的日期格式, 您应该使用setlocale()和 Strftime()函数代替 日期()。

从这个角度来看,我认为最好尽可能多地使用strftime,如果您有很小的可能不得不本地化您的应用程序。如果这不是问题,那就选一个你最喜欢的。

全年使用:

 <?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朝着更面向对象的方向发展,我很惊讶这里没有人引用内置的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