Intereting Posts

Увеличить текущую дату на 5 дней

$date = date('Ym-d',current_time('timestamp', 0)); 

Как изменить $date на $date + 5 days ?

Версия PHP – 5.2.

Этот код не работает:

 $date_cur = date('Ym-d',current_time('timestamp', 0)); echo $date_cur . ' <br>'; $date_cur_plus = date($date_cur, strtotime('+5 days')); echo $date_cur_plus; 

Дает мне:

 2011-11-29 2011-11-29 

Related of "Увеличить текущую дату на 5 дней"

Вы можете использовать mktime() используя временную метку.

Что-то вроде:

 $date = date('Ym-d', mktime(0, 0, 0, date('m'), date('d') + 5, date('Y'))); 

Использование strtotime() выполняется быстрее, но мой метод все еще работает и является гибким в том случае, если вам нужно внести множество изменений. Кроме того, strtotime() не может обрабатывать неоднозначные даты.

редактировать

Если вам нужно добавить 5 дней к уже существующей строке даты в формате YYYY-MM-DD , вы можете разбить ее на массив и использовать эти части с помощью mktime() .

 $parts = explode('-', $date); $datePlusFive = date( 'Ym-d', mktime(0, 0, 0, $parts[1], $parts[2] + 5, $parts[0]) // ^ Month ^ Day + 5 ^ Year ); 
 $date = date('Ym-d', strtotime('+5 days')); 

Объектно-ориентированный стиль:

 <?php $date = new DateTime('now'); $date->add(new DateInterval('P5D')); echo $date->format('Ym-d') . "\n"; ?> 

Процедурный стиль:

 <?php $date = date_create('2016-01-01'); date_add($date, date_interval_create_from_date_string('5 days')); echo date_format($date, 'Ym-d'); ?> 

Использовать strtotime :

 $date = date('Ym-d', strtotime('+5 days')); 
 $dateplus5 = date('Ym-d', strtotime('+5 days')); 

Вы можете использовать

 strtotime(“+5 days”) 

для получения текущей даты плюс 5 дней или

 $targetDate = date($date, strtotime('+5 days')); 

strtotime() очень приятно. Он позволяет сделать следующее:

 $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('Ym-d', strtotime($combinedDate))); } 

в результате:

now => 1360334498 = 2013-02-08

теперь + 5 дней => 1360766498 = 2013-02-13

теперь + 31 день => 1363012898 = 2013-03-11

теперь + 3 месяца => 1368020498 = 2013-05-08

теперь + 2 года + 2 дня => 1423579298 = 2015-02-10

или:

2013-02-14 => 1360792800 = 2013-02-14

2013-02-14 + 5 дней => 1361224800 = 2013-02-19

2013-02-14 + 31 день => 1363471200 = 2013-03-17

2013-02-14 + 3 месяца => 1368478800 = 2013-05-14

2013-02-14 + 2 года + 2 дня => 1424037600 = 2015-02-16

Я использовал это:

 $date = strtotime("+1 day", strtotime("2007-02-28")); echo date("Ymd", $date); 

Теперь работает.

Не должно было быть так?

 $date_cur = date('Ym-d', current_time('timestamp', 0)); echo $date_cur . ' <br>'; $date_cur_plus = date('Ym-d', strtotime('+5 days', current_time('timestamp', 0) ) ); echo $date_cur_plus; 

если дата уже существует, вы можете использовать этот код:

 $tartDate = date("m/d/Y", strtotime("+1 Day", strtotime($Date)));