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

Форум PHP

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

 

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

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

тема: отнимание mktime, выходит на 1 день больше
 
 автор: TetRiska   (11.04.2012 в 21:59)   письмо автору
 
 

всем привет, есть конечная дата и текущая, нужно их отнять и получить кол. дней, делаю так:

$dsmk = mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y')); //11.04.2012 20:24:00 было на тот момент
                    
list($dedate,$detime) = explode(' ',$pbuy['result']['pi_programs_buy_dend'][$by]); //11.05.2012 20:24:00
list($deYear,$deMonth,$deDay) = explode('-',$dedate);
list($deHour,$deMinute,$deSecond) = explode(':',$detime);
                    
$demk = mktime($deHour,$deMinute,$deSecond,$deMonth,$deDay,$deYear);
                    
echo date('d',$demk - $dsmk); //31 день, а должно же 30 быть

в чем проблема?

  Ответить  
 
 автор: Drago   (11.04.2012 в 22:37)   письмо автору
 
   для: TetRiska   (11.04.2012 в 21:59)
 


<?php
echo gmdate('z',$demk $dsmk);

Но, такой способ будет корректно работать только если максимальная разница в днях не превышает 364.

Иначе, лучше использовать что-то вроде:

<?php
echo floor(($demk $dsmk) / 86400);

  Ответить  
 
 автор: TetRiska   (11.04.2012 в 22:49)   письмо автору
 
   для: Drago   (11.04.2012 в 22:37)
 

последний вариант я думаю корректней, спасибо

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

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