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]   

> Без описания
bt_corp
Отправлено: 24 Сентября, 2010 - 07:40:49
Post Id



Гость


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


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




Нужна функция расчета стажа например от (28/08/10) и до (28/09/10) = 1 месяц


-----
Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
 
 Top
bt_corp
Отправлено: 26 Сентября, 2010 - 14:05:31
Post Id



Гость


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


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




Помогите пожалуйста Растерялся


Отредактировано модератором: Uchkuma, 26 Сентября, 2010 - 15:27:48
Прошу воздержаться от подобных сообщений, не несущих информации и не дополняющих тему!
Чтобы повысить вероятность получения помощи, грамотно и подробно описывайте свою задачу, а также правильно выбирайте раздел. Переношу в "Напишите за меня пожалуйста".


-----
Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
 
 Top
Мелкий Супермодератор
Отправлено: 26 Сентября, 2010 - 15:35:57
Post Id



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


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


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




Нужно находить разницу между 2-я датами? Или там что-то хитрое?

Для входных данных в виде пары день/месяц/год можно записать, например, так:
PHP:
скопировать код в буфер обмена
  1. function datediff($date1, $date2) {
  2. list($d,$m,$y) = explode("/",$date1);
  3. $time1 = mktime(0,0,0,$m,$d,$y);
  4. list($d,$m,$y) = explode("/",$date2);
  5. return (mktime(0,0,0,$m,$d,$y) - $time1);
  6. }

возвращает количество секунд, прошедших между датами.


-----
PostgreSQL DBA
 
 Top
bt_corp
Отправлено: 26 Сентября, 2010 - 16:29:27
Post Id



Гость


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


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




Например разница между датой регистрации и нынешней датой 2 года 10 месяцев 2 дня.

(Отредактировано автором: 26 Сентября, 2010 - 16:33:08)



-----
Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
 
 Top
Мелкий Супермодератор
Отправлено: 26 Сентября, 2010 - 16:49:48
Post Id



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


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


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




PHP:
скопировать код в буфер обмена
  1. между двумя датами прошло: <?
  2. $diff = datediff("28/08/10","28/08/10");
  3. if ($diff > 365*24*60) echo floor($diff/(365*24*60))," года";
  4. echo date("n месяцев и j дней", $diff);
  5. ?>

(Отредактировано автором: 26 Сентября, 2010 - 16:53:00)



-----
PostgreSQL DBA
 
 Top
bt_corp
Отправлено: 26 Сентября, 2010 - 17:35:18
Post Id



Гость


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


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




Спасибо Улыбка


-----
Программист, это - такой человек, который сначала много думает, чтобы потом ничего не делать!
 
 Top
Eskaper
Отправлено: 26 Января, 2012 - 06:29:24
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2011  
Откуда: Красноясрк


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




Мелкий пишет:
между двумя датами прошло: <?
$diff = datediff("28/08/10","28/08/10");
if ($diff > 365*24*60) echo floor($diff/(365*24*60))," года";
echo date("n месяцев и j дней", $diff);
?>


Сразу в глаза бросается 365*24*60 - дни * часы * минуты не хватает еще секунд
365*24*60*60 это год, да и при выводе если например меньше месяца, то все равно будет выводить 1! диапазон date (n) от 1 - до 12
 
 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