我想在一个网站的页脚放一个版权声明,但我认为这对于过时的年份来说是非常俗气的。
我如何用PHP 4或PHP 5自动更新年份?
<?php echo date("Y"); ?>
strftime("%Y");
我喜欢0号。这是一个抓取/重新组合日期/时间块的很棒的函数。
此外,它尊重区域设置,日期函数不这样做。
http://us2.php.net/date
echo date('Y');
print date('Y');
有关更多信息,请查看date()函数文档:https://secure.php.net/manual/en/function.date.php
这个给出了当地时间:
$year = date('Y'); // 2008
这是0号:
$year = gmdate('Y'); // 2008
您可以使用日期或strftime。在这种情况下,我会说这并不重要,因为一年是一年,无论如何(除非有一个地区格式的年不同?)
例如:
另一方面,在PHP中格式化日期时,如果您希望使用不同于默认语言环境的语言环境格式化日期,则很重要。如果是,你必须使用setlocale和strftime。根据日期的php手册:
要格式化其他语言的日期,您应该使用setlocale()和Strftime()函数代替日期(日)。< / p >
从这个角度来看,我认为最好尽可能多地使用strftime,如果您有很小的可能不得不本地化您的应用程序。如果这不是问题,那就选一个你最喜欢的。
我的超级懒惰版本显示版权行,自动保持更新:
© <?php$copyYear = 2008;$curYear = date('Y');echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');?> Me, Inc.
今年(2008年),它会说:
软件是2008 Me, Inc.
明年,它会说:
软件是2008-2009年Me公司
并且永远保持当前年份的更新。
或者(PHP 5.3.0+)一种使用匿名函数的紧凑方法,这样你就不会有变量泄露,也不会重复代码/常量:
©<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>Me, Inc.
如果你的服务器支持短标签,或者你使用PHP 5.4,你可以使用:
<?=date("Y")?>
随着PHP朝着更加面向对象的方向发展,我很惊讶这里没有人引用内置的# 0类:
$now = new DateTime();$year = $now->format("Y");
或者在实例化时使用类成员访问的一行程序(php>=5.4):
$year = (new DateTime)->format("Y");
我是这么做的:
<?php echo date("d-m-Y") ?>
下面是对它功能的一些解释:
d = daym = monthY = year
Y表示四位数(如1990),Y表示两位数(如90)
echo date('Y')给出的是当前年份,而date()给出的是当前日期,所以这个会自动更新。
echo date('Y')
date()
<?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;?>
对于4位数表示:
<?php echo date('Y'); ?>
2位数表示:
<?php echo date('y'); ?>
只写:
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
然后“echo”这个值…
顺便说一句……网站版权展示有几种合适的方式。有些人倾向于让事情变得多余,例如:版权©具有相同的含义。重要的版权部分包括:
**Symbol, Year, Author/Owner and Rights statement.**
使用PHP + HTML:
<p id='copyright'>© <?php echo date("Y"); ?> Company Name All Rights Reserved</p>
或
<p id='copyright'>© <?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')?>
或者你可以把它用在一行上
如果你想增加或减少一年另一个方法;添加修改行如下所示。
<?PHP$now = new DateTime;$now->modify('-1 years'); //or +1 or +5 yearsecho $now->format('Y');//and here again For 4 digit ('Y') for 2 digit ('y')?>
使用PHP函数date()。
它接受当前日期,然后你给它提供一个格式
格式是Y,大写的Y是四位数的年份。
这段代码应该
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>
你可以在页脚部分使用它来获得动态版权年份
全年使用:
<?phpecho $curr_year = date('Y'); // it will display full year ex. 2017?>
或者只得到两位年份,就像这样:
<?phpecho $curr_year = date('y'); // it will display short 2 digit year ex. 17?>
我显示版权的方式,它会自动更新
<p class="text-muted credit">Copyright ©<?php$copyYear = 2017; // Set your website start date$curYear = date('Y'); // Keeps the second year updatedecho $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');?></p>
它将输出结果为
copyright @ 2017 //if $copyYear is 2017copyright @ 2017-201x //if $copyYear is not equal to Current Year.
使用PHP date()函数。
本节的最佳短代码:
<?= date("Y"); ?>
如果你使用碳PHP API扩展DateTime,你可以很容易地实现:
# 0
$year = date("Y", strtotime($yourDateVar));
以我为例,wordpress网站页脚的版权声明需要更新。
想法很简单,但涉及的步骤比预期的要多。
footer.php
定位版权文本,期望这都是硬编码,但发现:
<div id="copyright"><?php the_field('copyright_disclaimer', 'options'); ?></div>
Options
然后在下一页转到标签Disclaimers:
Disclaimers
和顶部附近,你会发现版权年份:
删除©符号+年份+年份之后的空格,然后在页面右上角用Update按钮保存页面。
Update
<div id="copyright">©<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?></div>
完成了!只需要测试以确保更改按预期生效。
这对很多人来说可能不是同样的情况,但是我们在相当多的客户站点中遇到过这种模式,并且认为最好在这里记录。
用M打印当前月份,用D打印日期,用Y打印年份。
<?php echo date("M D Y"); ?>
要使用PHP的日期函数获取当前年份,你可以像这样传入“Y”格式字符:
//Getting the current year using//PHP's date function. $year = date("Y");echo $year;
上面的例子将打印出当前年份的完整的4位数字表示。
如果你只想检索2位数格式,那么你可以使用小写的“y”格式字符:
$year = date("y");echo $year;12$year = date("y");echo $year;
上面的代码片段将打印20而不是2020年,或者打印19而不是2019年,等等。
用于date函数的第二个参数strtotime返回参数
// This work when you get time as stringecho date('Y', strtotime("now")); // Get next yearsecho date('Y', strtotime("+1 years")); //echo strftime("%Y", strtotime("now"));
使用datetime类
echo (new DateTime)->format('Y');
在Laravel
$date = Carbon::now()->format('Y');return $date;
在PHP中
echo date("Y");
创建一个helper函数并调用它
getCurrentYear(); function getCurrentYear(){return now()->year;}
$dateYear = date('Y');echo "Current Year: $dateYear";
本年:2022年
$dateYear = date('y');echo $dateYear;
22