Конкурс для сотрудников

23.09.2012

Сегодня в нашей компании проходит конкурс на смекалку, в котором можете поучаствовать и вы.

Задание от программиста:
У клиента на сайте нашел очень интересную багу(ака фичу). Заключается бага вот в чём:

Необходимо посчитать разницу дат. Делается это так
$date_s = explode(".", $_POST["date_s"]);
$date_po = explode(".", $_POST["date_po"]);
$s_date = mktime(0, 0, 0, $date_s[1], $date_s[0], $date_s[2]);
$po_date = mktime(0, 0, 0, $date_po[1], $date_po[0], $date_po[2]);
$days = (($po_date-$s_date)/24/60/60);

То есть в итоге мы получаем число дней. Оказывается, что 2 периода в год это выражение возвращает не целое число, а дробное (то есть с десятичной долей). Все остальные случаи обрабатывает без десятичной части.
Переменные $po_date и $s_date генерируются функцией mktime которая возвращает дату в секундах

для примера вот входящие данные
$_POST["date_s"] = "25.10.2012";
$_POST["date_po"] = "05.12.2012";

Самые интересные решения мы выложим по итогам конкурса, а так же список призёров. Ваши варианты можете высылать на info@echo-group.biz

Забегая вперёд скажу, что ответ содержится в вопросе, надо просто внимательно прочитать.


Возврат к списку