How do I use PHP to get the current year?
PhpDatePhp 5.3Php 5.4Php4Php Problem Overview
Php Solutions
Solution 1 - Php
You 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.
Solution 2 - Php
<?php echo date("Y"); ?>
Solution 3 - Php
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.
Solution 4 - Php
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");
Solution 5 - Php
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.
Solution 6 - Php
echo date('Y');
Solution 7 - Php
This one gives you the local time:
$year = date('Y'); // 2008
And this one UTC:
$year = gmdate('Y'); // 2008
Solution 8 - Php
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 = year
Y will gives you four digit (e.g. 1990) and y for two digit (e.g. 90)
Solution 9 - Php
For 4 digit representation:
<?php echo date('Y'); ?>
2 digit representation:
<?php echo date('y'); ?>
Check the php documentation for more info: https://secure.php.net/manual/en/function.date.php
Solution 10 - Php
echo date('Y')
gives you current year, and this will update automatically since date()
give us the current date.
Solution 11 - Php
print date('Y');
For more information, check date() function documentation: https://secure.php.net/manual/en/function.date.php
Solution 12 - Php
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"); ?>
Solution 13 - Php
<?php echo date("Y"); ?>
This code should do
Solution 14 - Php
Just write:
date("Y") // A full numeric representation of a year, 4 digits
// Examples: 1999 or 2003
Or:
date("y"); // A two digit representation of a year Examples: 99 or 03
And 'echo' this value...
Solution 15 - Php
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"); ?>
Solution 16 - Php
If your server supports Short Tags, or you use PHP 5.4, you can use:
<?=date("Y")?>
Solution 17 - Php
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
Solution 18 - Php
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')
?>
Solution 19 - Php
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
?>
Solution 20 - Php
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.
Solution 21 - Php
$dateYear = date('Y');
echo "Current Year: $dateYear";
> Current Year: 2022
$dateYear = date('y');
echo $dateYear;
> 22
Solution 22 - Php
My way to show the copyright, That keeps on updating automatically
<p class="text-muted credit">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.
Solution 23 - Php
best shortcode for this section:
<?= date("Y"); ?>
Solution 24 - Php
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>
You can use this in footer sections to get dynamic copyright year
Solution 25 - Php
$year = date("Y", strtotime($yourDateVar));
Solution 26 - Php
In Laravel
$date = Carbon::now()->format('Y');
return $date;
In PHP
echo date("Y");
Solution 27 - Php
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.php
in your theme's folder. -
Locate copyright text, expected this to be all hard coded but found:
<div id="copyright"> <?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
Options
on 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
Update
button 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.php
and update that to this:<div id="copyright"> ©<?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.
Solution 28 - Php
Print current month with M, day with D and year with Y.
<?php echo date("M D Y"); ?>
Solution 29 - Php
For more pricise in second param in date function strtotime 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');
Solution 30 - Php
create a helper function and call it
getCurrentYear();
function getCurrentYear(){
return now()->year;
}
Solution 31 - Php
<?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;
?>
Solution 32 - Php
If you are using the Carbon PHP API extension for DateTime, you can achieve it easy:
<?php echo Carbon::now()->year; ?>