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

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


当前回答

适用于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')
?>

其他回答

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

例如:

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

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

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

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

顺便说一句……网站版权展示有几种合适的方式。有些人倾向于让事情变得多余,例如:版权©具有相同的含义。重要的版权部分包括:

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

如果你正在使用碳PHP API扩展DateTime,你可以很容易地实现:

<?php echo Carbon::now()->年;? >

<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

你可以在页脚部分使用它来获得动态版权年份

在date函数的第二个参数中可以得到更多的值 Strtotime返回参数传递的时间戳

// This work when you get time as string
echo date('Y', strtotime("now"));

// Get next years
echo date('Y', strtotime("+1 years"));

// 
echo strftime("%Y", strtotime("now"));

使用datetime类

echo (new DateTime)->format('Y');