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

Форум PHP

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

 

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

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

тема: Вычислить разниицу между двумя датами
 
 автор: vasvas2   (21.10.2008 в 23:21)   письмо автору
 
 

Здравствуйте, имеется следующий год
--
<?
$metka0=mktime(0,0,0,10,01,2008);
$metka1=mktime(0,0,0,09,30,2008);
$metka2=$metka0-$metka1;
$metka3=$metka2/86400;
echo "0=$metka0<br>1=$metka1<br>2=$metka2<br>3=$metka3";
?>
--
то есть вычисляется количество времени между 2 датами
введены 2 даты
01.10.2008
30.09.2008
между ними разница сутки то есть 86400 секунд, но крипт выдаёт нечно непонятное.
Подскажите, пожалуйста, где я ошибся.

  Ответить  
 
 автор: AcidTrash   (21.10.2008 в 23:47)   письмо автору
 
   для: vasvas2   (21.10.2008 в 23:21)
 

Вам нужна разница в датах по дням или как?
Если по дням, то так
 <?php
$last 
"2008-10-01";
$fut =  "2008-09-30";
$res strtotime($last) - strtotime($fut);
$days 0;
while ( 
$res >= 86400 ) {
  
$days++;
  
$res -= 86400;
}
print 
"Разница - ".$days." дней";
?>

  Ответить  
 
 автор: vna79   (07.11.2010 в 16:52)   письмо автору
 
   для: AcidTrash   (21.10.2008 в 23:47)
 


<?php
   $time0
="2008-09-30"
   
$time1="2008-10-01";
   
$time0=strtotime($time0);
   
$time1=strtotime($time1);
   
$difference_sec=$time0-$time1//Разница в секундах
   
$difference_day=floor($difference_sec/86400); //Разница в днях (разделили на количество секунд в одном дне и обрезали дробную часть)
   
print "Разница - ".$difference_day." дней";
?>

  Ответить  
 
 автор: Trianon   (07.11.2010 в 17:12)   письмо автору
 
   для: vna79   (07.11.2010 в 16:52)
 

во-первых, неправильно.
во вторых, зачем?

  Ответить  
 
 автор: Trianon   (22.10.2008 в 00:53)   письмо автору
 
   для: vasvas2   (21.10.2008 в 23:21)
 

попробуйте написать просто echo 09;
Затем заглянуть в документацию и объяснить увиденное.

  Ответить  
 
 автор: pav4   (19.12.2008 в 11:11)   письмо автору
 
   для: Trianon   (22.10.2008 в 00:53)
 

а как быть если нужно заполнить массив разницей между дат:
"2008-01-01";
"2008-01-30";
т.е. массив должен содержать ( 2008-01-01,2008-01-02......2008-01-30).
нужно это для поиска в базе по полю дата чтобы попали строки в диапазоне дат от 2008-01-01 2008-01-30. может можно и проще?

  Ответить  
 
 автор: Trianon   (19.12.2008 в 11:17)   письмо автору
 
   для: pav4   (19.12.2008 в 11:11)
 

для такого поиска не нужно создавать массив. ...WHERE `date` BETWEEN '2008-01-01' AND '2008-01-30' ;

вопрос не имеет отношения к теме.

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

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