Forum Webscript.Ru
Программирование => Теория, алгоритмы и стандарты => Тема начата: Berkut от 27 Января 2005, 14:56:19
-
Привет! Есть даты в unix_timestamp, нужно вывести сколько прошло времени с этой даты до сегодняшнего дня. Т.е. если сегодня 27.01.2005 и дата равна 20.01.2005 -> выводим 7 дней. если дата равна 27.12.2004 -> выводим 1 месяц. Если дата равна 25.12.2003 -> выводим 1 год 1 месяц 2 дня.
Подскажите алгоритм реализации такой задачи. В принципе есть мысль, как это сделать, но что-то уж очень громоздко/коряво с туевой хучей условных операторов получается
-
ничего громоздкого в этом варианте я не вижу.
-
RomikChef в чём не видишь? я ведь ничего не показывал.
Вообще сделал просто, но криво:
$h_t_interval = intval($curr_time - $date);
$h_t_date_t = getdate($h_t_interval);
$h_t_day = $h_t_date_t[\'mday\'] - 1;
$h_t_month = $h_t_date_t[\'mon\'] - 1;
$h_t_year = $h_t_date_t[\'year\'] - 1970;
Но возникают косяки, с високосными годами, как бороться пока-что не знаю, можт кто поможет?
-
Berkut
существует куча готовых решений... а каком языке тебе это надо реализовать?
-
commander на php. Я в принципе сделал, но было-бы очень интересно посмотреть как это реализовывали другие