我如何使用PHP来获得当年的?

我想在网站的页脚上添加一个版权声明,但是我认为这个版本过时的问题非常糟糕。 我如何使用PHP 4和PHP 5自动更新年份?

您可以使用date或strftime 。 在这种情况下,我会说,不pipe一年是一年,不pipe怎样(除非有一个区域设置不同的年份)?

例如:

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

请注意,在PHP中格式化date时,如果要以与默认不同的区域设置格式化date,则这很重要。 如果是这样,你必须使用setlocale和strftime。 根据date的php手册 :

要以其他语言格式化date,您应该使用setlocale()和strftime()函数来代替date()。

从这个angular度来看,我认为最好尽可能的使用strftime,如果你甚至有一个远程的可能性,必须本地化您的应用程序。 如果这不是问题,请select你最喜欢的那个。

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

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

 &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+)使用匿名函数的紧凑方法,所以你没有variables泄漏,不重复代码/常量:

 &copy; <?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> Me, Inc. 

随着PHP标题在更加面向对象的方向,我很惊讶这里没有人引用了内置的DateTime类:

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

或实例化(PHP> = 5.4)的类成员访问单线程:

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

http://us2.php.net/date

 echo date('Y'); 
 strftime("%Y"); 

我喜欢strftime 。 这是抓取/重新组合date/时间的一个很好的function。

此外它尊重datefunction不做的地区设置。

这个给你当地时间:

 $year = date('Y'); // 2008 

这一个UTC

 $year = gmdate('Y'); // 2008 

对于4位数表示:

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

2位数字表示:

 <?php echo date('y'); ?> 

检查PHP文档的更多信息: https : //secure.php.net/manual/en/function.date.php

这就是我所做的:

 <?php echo date("dmY") ?> 

下面是对它做什么的一些解释:

 d = day m = month Y = year 

Y会给你四位数字(比如1990)和Y两位数字(比如90)

echo date('Y')给你当前的一年,这将自动更新自date()给我们当前的date。

 print date('Y'); 

有关更多信息,请查看date()函数文档: https : //secure.php.net/manual/en/function.date.php

写吧:

 date("Y") // A full numeric representation of a year, 4 digits // Examples: 1999 or 2003 

要么:

 date("y"); // A two digit representation of a year Examples: 99 or 03 

并“回声”这个值…

使用一个名为date()的PHP函数。

它采用当前的date,然后你提供一个格式

而格式就是Y. Capital Y将会是一个四位数的年份。

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

这个代码应该做的

如果你的服务器支持Short Tags,或者你使用PHP 5.4,你可以使用:

 <?=date("Y")?> 

你可以使用简单的PHPdate类。 它提供了许多有用的方法和function:

 $date = new simpleDate(); echo $date->now()->getYear(); echo $date->now()->getMonth(); echo $date->set('2013-01-21')->getDayString(); echo $date->now()->compare('2013-01-21')->isBefore(); ... 

您可以查看库教程页面以获取更多示例

顺便说一句…有几个正确的方法如何显示网站的版权。 有些人倾向于使事情冗余,即:版权所有©具有相同的含义。 重要的版权部分是:

 **Symbol, Year, Author/Owner and Rights statement.** 

使用PHP + HTML:

 <p id='copyright'>&copy; <?php echo date("Y"); ?> Company Name All Rights Reserved</p> 

要么

 <p id='copyright'>&copy; <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p 

至于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"); 

如果你想增加或减less一年的另一种方法; 像下面添加修改行。

 <?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') ?> 
 <?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?> 

您可以在页脚部分使用这个dynamic版权年

获得全年使用:

  <?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 ?> 

我的方式来显示版权,自动更新

 <p class="text-muted credit">Copyright &copy; <?php $copyYear = 2017; // Set your website start date $curYear = date('Y'); // Keeps the second year updated echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : ''); ?> </p> 

它会输出结果为

 copyright @ 2017 //if $copyYear is 2017 copyright @ 201x-2017 //if $copyYear is less than 2017 
 <?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; ?>