Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Прибавить к дате дней
 
 автор: segazav   (18.04.2015 в 03:27)   письмо автору
 
 

В переменной $date_end есть дата формата Y-m-d H:i:s

Как к этой дате прибавить количество дней $dney?

$date_end = 2015-04-17 22:10:00

$dney = $_POST['srok'];

$y = date ("Y"); //год
$m = date ("m"); //месяц
$d = date ("d"); //день
$H = date ("H"); //час
$i = date ("i"); //минута
$s = date ("s"); //секунда
$date_end = date("Y-m-d H:i:s", mktime($H, $i, $s, $m, $d+$dney, $y));

Так добавляет дни к текущей дате, а не к значению $date_end

  Ответить  
 
 автор: Igorek   (18.04.2015 в 05:42)   письмо автору
 
   для: segazav   (18.04.2015 в 03:27)
 

http://php.net/manual/ru/datetime.modify.php
<?php
$date 
= new DateTime('2015-04-17 22:10:00');
$dney 4;
$date->modify("+$dney day");
echo 
$date->format('Y-m-d H:i:s');

  Ответить  
 
 автор: segazav   (18.04.2015 в 07:07)   письмо автору
 
   для: Igorek   (18.04.2015 в 05:42)
 

Спасибо большое!!!
Даже не знал про такую функцию.

В мануале об этой функции есть такая запись, в чем опасность при добавлении месяцев?

"Пример #2 Будьте осторожны при добавлении и вычитании месяцев"

  Ответить  
 
 автор: Igorek   (18.04.2015 в 08:57)   письмо автору
 
   для: segazav   (18.04.2015 в 07:07)
 

>в чем опасность при добавлении месяцев?
Там же есть пример.
<?
$date 
= new DateTime('2001-01-31');

$date->modify('+1 month');
echo 
$date->format('Y-m-d') . "\n"// 2001-03-03

в феврале нет 31 дня, поэтому в результате мы получаем 3 марта, для високосного года, когда в феврале 29 дней, получим 2 марта:
<?
$date 
= new DateTime('2016-01-31');

$date->modify('+1 month');
echo 
$date->format('Y-m-d') . "\n"// 2016-03-02

  Ответить  
 
 автор: Valick   (21.04.2015 в 07:39)   письмо автору
 
   для: segazav   (18.04.2015 в 03:27)
 

зачем прибавляете дату?
если потом используете это в запросе к БД, то это не правильно

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования