I want to put a copyright notice in the footer of a web site, but I think it's incredibly tacky for the year to be outdated.
How would I make the year update automatically with PHP 4 or PHP 5?
1132 Answers
12 NextYou can use either date or strftime. In this case I'd say it doesn't matter as a year is a year, no matter what (unless there's a locale that formats the year differently?)
For example:
<?php echo date("Y"); ?>On a side note, when formatting dates in PHP it matters when you want to format your date in a different locale than your default. If so, you have to use setlocale and strftime. According to the php manual on date:
To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().
From this point of view, I think it would be best to use strftime as much as possible, if you even have a remote possibility of having to localize your application. If that's not an issue, pick the one you like best.
6<?php echo date("Y"); ?> 3 My super lazy version of showing a copyright line, that automatically stays updated:
© <?php
$copyYear = 2008;
$curYear = date('Y');
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.This year (2008), it will say:
© 2008 Me, Inc.
Next year, it will say:
© 2008-2009 Me, Inc.
and forever stay updated with the current year.
Or (PHP 5.3.0+) a compact way to do it using an anonymous function so you don't have variables leaking out and don't repeat code/constants:
©
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>
Me, Inc. 2 With PHP heading in a more object-oriented direction, I'm surprised nobody here has referenced the built-in DateTime class:
$now = new DateTime();
$year = $now->format("Y");or one-liner with class member access on instantiation (php>=5.4):
$year = (new DateTime)->format("Y"); 0 strftime("%Y");I love strftime. It's a great function for grabbing/recombining chunks of dates/times.
Plus it respects locale settings which the date function doesn't do.
echo date('Y'); 0 This one gives you the local time:
$year = date('Y'); // 2008And this one UTC:
$year = gmdate('Y'); // 2008 Here's what I do:
<?php echo date("d-m-Y") ?>below is a bit of explanation of what it does:
d = day
m = month
Y = yearY will gives you four digit (e.g. 1990) and y for two digit (e.g. 90)
0For 4 digit representation:
<?php echo date('Y'); ?>2 digit representation:
<?php echo date('y'); ?>Check the php documentation for more info:
echo date('Y') gives you current year, and this will update automatically since date() give us the current date.
print date('Y');For more information, check date() function documentation:
use a PHP function which is just called date().
It takes the current date and then you provide a format to it
and the format is just going to be Y. Capital Y is going to be a four digit year.
<?php echo date("Y"); ?> <?php echo date("Y"); ?>This code should do
3Just write:
date("Y") // A full numeric representation of a year, 4 digits // Examples: 1999 or 2003Or:
date("y"); // A two digit representation of a year Examples: 99 or 03And 'echo' this value...
use a PHP date() function.
and the format is just going to be Y. Capital Y is going to be a four digit year.
<?php echo date("Y"); ?> If your server supports Short Tags, or you use PHP 5.4, you can use:
<?=date("Y")?> 2 BTW... there are a few proper ways how to display site copyright. Some people have tendency to make things redundant i.e.: Copyright © have both the same meaning. The important copyright parts are:
**Symbol, Year, Author/Owner and Rights statement.** Using PHP + HTML:
<p id='copyright'>© <?php echo date("Y"); ?> Company Name All Rights Reserved</p>or
<p id='copyright'>© <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p For up to php 5.4+
<?php $current= new \DateTime(); $future = new \DateTime('+ 1 years'); echo $current->format('Y'); //For 4 digit ('Y') for 2 digit ('y')
?>Or you can use it with one line
$year = (new DateTime)->format("Y");If you wanna increase or decrease the year another method; add modify line like below.
<?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')
?> Get full Year used:
<?php echo $curr_year = date('Y'); // it will display full year ex. 2017
?>Or get only two digit of year used like this:
<?php echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?> To get the current year using PHP’s date function, you can pass in the “Y” format character like so:
//Getting the current year using
//PHP's date function.
$year = date("Y");
echo $year;The example above will print out the full 4-digit representation of the current year.
If you only want to retrieve the 2-digit format, then you can use the lowercase “y” format character:
$year = date("y");
echo $year;
1
2
$year = date("y");
echo $year;The snippet above will print out 20 instead of 2020, or 19 instead of 2019, etc.
1$dateYear = date('Y');
echo "Current Year: $dateYear";Current Year: 2022
$dateYear = date('y');
echo $dateYear;22
My way to show the copyright, That keeps on updating automatically
<p>Copyright © <?php $copyYear = 2017; // Set your website start date $curYear = date('Y'); // Keeps the second year updated echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : ''); ?>
</p> It will output the results as
copyright @ 2017 //if $copyYear is 2017
copyright @ 2017-201x //if $copyYear is not equal to Current Year. best shortcode for this section:
<?= date("Y"); ?> 1 <?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>You can use this in footer sections to get dynamic copyright year
$year = date("Y", strtotime($yourDateVar)); In Laravel
$date = Carbon::now()->format('Y');
return $date;In PHP
echo date("Y"); in my case the copyright notice in the footer of a wordpress web site needed updating.
thought simple, but involved a step or more thann anticipated.
Open
footer.phpin your theme's folder.Locate copyright text, expected this to be all hard coded but found:
<div> <?php the_field('copyright_disclaimer', 'options'); ?> </div>Now we know the year is written somewhere in WordPress admin so locate that to delete the year written text. In WP-Admin, go to
Optionson the left main admin menu:Then on next page go to the tab
Disclaimers:and near the top you will find Copyright year:
DELETE the © symbol + year + the empty space following the year, then save your page with
Updatebutton at top-right of page.With text version of year now delete, we can go and add our year that updates automatically with PHP. Go back to chunk of code in STEP 2 found in
footer.phpand update that to this:<div> ©<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?> </div>Done! Just need to test to ensure changes have taken effect as expected.
this might not be the same case for many, however we've come across this pattern among quite a number of our client sites and thought it would be best to document here.
0Print current month with M, day with D and year with Y.
<?php echo date("M D Y"); ?> For more pricise in second param in date functionstrtotime return the timestamp passed by param
// 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"));With datetime class
echo (new DateTime)->format('Y'); 2 create a helper function and call it
getCurrentYear();
function getCurrentYear(){ return now()->year;
}
12 Next