Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как посчитать количество оставшихся дней до определённой даты?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Есть определённая дата в формате день.месяц.год (14.06.2012). Нужно посчитать, сколько осталось дней до этой даты.
njuha
Отправлено: 26 Мая, 2012 - 21:46:23
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Есть определённая дата в формате день.месяц.год (например 14.06.2012). Нужно посчитать, сколько осталось дней до этой даты.
Желательно средствами PHP.

Я уже давно гуглю этот вопрос, но ничего того, чтобы мог понять не нашёл.
Надеюсь на вашу терпимость и помощь. Заранее спасибо Улыбка
 
 Top
Мелкий Супермодератор
Отправлено: 26 Мая, 2012 - 22:09:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




0) переводите в unix time (mktime), потом делите на 24*60*60
1) http://ru.php.net/manual/en/datetime.diff.php


-----
PostgreSQL DBA
 
 Top
njuha
Отправлено: 27 Мая, 2012 - 01:53:11
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Мелкий пишет:
0) переводите в unix time (mktime), потом делите на 24*60*60
1) http://ru.php.net/manual/en/datetime.diff.php

Спасибо.

Не могли бы вы пояснить ламеру, зачем переводить дату в unox time?
 
 Top
Мелкий Супермодератор
Отправлено: 27 Мая, 2012 - 09:36:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Удобная форма для машинной обработки.


-----
PostgreSQL DBA
 
 Top
njuha
Отправлено: 27 Мая, 2012 - 18:16:41
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Мелкий пишет:
Удобная форма для машинной обработки.

Не получается...

Вот скриптик:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3. $start_date = "14.06.2012";
  4. $today_date = "27.05.2012";
  5. $start_date_elements  = explode(".",$start_date);
  6. $today_date_elements  = explode(".",$today_date);
  7. $start_date_mk = mktime(0,0,0,$start_date_elements[1],$start_date_elements[0],$start_date_elements[2]) / 24*60*60;
  8. $today_date_mk = mktime(0,0,0,$today_date_elements[1],$today_date_elements[0],$today_date_elements[2]) / 24*60*60;
  9.                                        
  10. $datetime1 = $start_date_mk;
  11. $datetime2 = n$today_date_mk;
  12. $interval = $datetime2->diff($datetime1);
  13. $int = $interval->format('%R%d<br>');
  14. echo abs($int);                                
  15.                                         ?>
  16.  
  17.  

Возможно я не верно поделил, или вообще не так сделал...

Вот так по идее получилось:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $datetime1 = new DateTime('14.06.2012');
  2. $datetime2 = new DateTime('27.05.2012');
  3. $interval = $datetime2->diff($datetime1);
  4. $int = $interval->format('%R%d<br>');
  5. echo abs($int);

Но месяца в расчёт не берутся. Считает как будто соседние месяцы...
 
 Top
Мелкий Супермодератор
Отправлено: 27 Мая, 2012 - 18:38:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




PHP:
скопировать код в буфер обмена
  1. $datetime1 = new DateTime('14.06.2012');
  2. $datetime2 = new DateTime('27.05.2012');
  3. $interval = $datetime2->diff($datetime1);
  4. $int = $interval->d;
  5. echo abs($int);

(Добавление)
njuha пишет:
Считает как будто соседние месяцы...

Дык соседние же и есть Однако


-----
PostgreSQL DBA
 
 Top
njuha
Отправлено: 27 Мая, 2012 - 19:00:46
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. $datetime1 = new DateTime('14.06.2012');
  2. $datetime2 = new DateTime('27.05.2012');
  3. $interval = $datetime2->diff($datetime1);
  4. $int = $interval->d;
  5. echo abs($int);

(Добавление)
njuha пишет:
Считает как будто соседние месяцы...

Дык соседние же и есть Однако

Голливудская улыбка
Эт я не очень удачный пример привёл))
Вот, дата выхода:
09.07.2012

Выдаёт:
Осталось дней: 12
 
 Top
LIME
Отправлено: 27 Мая, 2012 - 19:09:19
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)





это скрипт майа
все верно
 
 Top
Мелкий Супермодератор
Отправлено: 27 Мая, 2012 - 19:11:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А точно. Не забыть бы завтра на работе проверить, не наглючил ли так же Закатив глазки

PHP:
скопировать код в буфер обмена
  1. $datetime1 = new DateTime('14.08.2012');
  2. $datetime2 = new DateTime('27.05.2012');
  3. $interval = $datetime2->diff($datetime1);
  4. echo $interval->days;


-----
PostgreSQL DBA
 
 Top
njuha
Отправлено: 27 Мая, 2012 - 19:47:31
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Мелкий пишет:
А точно. Не забыть бы завтра на работе проверить, не наглючил ли так же Закатив глазки

PHP:
скопировать код в буфер обмена
  1. $datetime1 = new DateTime('14.08.2012');
  2. $datetime2 = new DateTime('27.05.2012');
  3. $interval = $datetime2->diff($datetime1);
  4. echo $interval->days;

Спасибо. Всё оказалось значительно проще)))

LIME, а?
Тема закрыта!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB