$date = date('Y-m-d',current_time('timestamp', 0));
How do I change $date
to $date + 5 days
?
PHP version is 5.2.
This code doesn't work:
$date_cur = date('Y-m-d',current_time('timestamp', 0));
echo $date_cur . ' <br>';
$date_cur_plus = date($date_cur, strtotime('+5 days'));
echo $date_cur_plus;
Gives me:
2011-11-29
2011-11-29
Adding Days to the given Date using Calendar class Add the given date to the calendar by using setTime() method of calendar class. Use the add() method of the calendar class to add days to the date. The add method() takes two parameter, i.e., calendar field and amount of time that needs to be added.
use DateUtils. addDays(date,3); from org.
The Clock. systemUTC(). instant() method returns the current date and time both.
The date_add() function adds some days, months, years, hours, minutes, and seconds to a date.
You could use mktime()
using the timestamp.
Something like:
$date = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d') + 5, date('Y')));
Using strtotime()
is faster, but my method still works and is flexible in the event that you need to make lots of modifications. Plus, strtotime()
can't handle ambiguous dates.
Edit
If you have to add 5 days to an already existing date string in the format YYYY-MM-DD
, then you could split it into an array and use those parts with mktime()
.
$parts = explode('-', $date);
$datePlusFive = date(
'Y-m-d',
mktime(0, 0, 0, $parts[1], $parts[2] + 5, $parts[0])
// ^ Month ^ Day + 5 ^ Year
);
Object oriented Style:
<?php
$date = new DateTime('now');
$date->add(new DateInterval('P5D'));
echo $date->format('Y-m-d') . "\n";
?>
Procedural Style:
<?php
$date = date_create('2016-01-01');
date_add($date, date_interval_create_from_date_string('5 days'));
echo date_format($date, 'Y-m-d');
?>
$date = date('Y-m-d', strtotime('+5 days'));
Use strtotime
:
$date = date('Y-m-d', strtotime('+5 days'));
$dateplus5 = date('Y-m-d', strtotime('+5 days'));
For specific date:
$date = '2011-11-01';
$date_plus = date('Y-m-d', strtotime($date.'+5 days'));
echo $date.'<br>'.$date_plus;
It will be give :
2011-11-01
2011-11-06
You can use
strtotime(“+5 days”)
to get the current date plus 5 days or
$targetDate = date($date, strtotime(’+5 days’));
strtotime()
is very nice. It allows you to do the following:
$startDate = 'now'; // or choose a certain date you want/have
$startDate = '2013-02-14';
$intervals = array(
'',
'+ 5 days',
'+ 31 days',
'+ 3 months',
'+ 2 years + 2 days'
);
foreach($intervals as $interval) {
$combinedDate = $startDate . ' ' . $interval;
var_dump($combinedDate . ' => ' date('Y-m-d', strtotime($combinedDate)));
}
with a result:
now => 1360334498 = 2013-02-08
now + 5 days => 1360766498 = 2013-02-13
now + 31 days => 1363012898 = 2013-03-11
now + 3 months => 1368020498 = 2013-05-08
now + 2 years + 2 days => 1423579298 = 2015-02-10
or:
2013-02-14 => 1360792800 = 2013-02-14
2013-02-14 + 5 days => 1361224800 = 2013-02-19
2013-02-14 + 31 days => 1363471200 = 2013-03-17
2013-02-14 + 3 months => 1368478800 = 2013-05-14
2013-02-14 + 2 years + 2 days => 1424037600 = 2015-02-16
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With