Вы сейчас здесь
«Облако» тэгов
link, small, tagless, tiny, 2003, big, 2008, 2010, январь, декабрь, сентябрь, 2001, 2004, 2002, август, апрель, март, июль, 2009, игры, октябрь, май, июнь, февраль, 2007, ноябрь, img, 2011, quote, wow, huge, блоги, кино, игровой дизайн, ребенок, половой вопрос, технологии, вебдев, lytdybr, фразы, живой журнал, жизнь, язык, яндекс, php, 2006, людишки, 2005, поисковики, software, video, inglish, 2000, смишно, диалоги, музыка, книги, культ личности, дейтинг, политика, интернет, 1999, rss, контент, flash, я, авторские проекты, реклама, прон, next-gen mmo, ореховые скорлупки, сми, js, программирование, fight club, register, социгры, спам, english reviews, американас, потребление, беллетристика, идеи, мое величие, iphone, usability, пидорасты, battle.net, lifestyle, starcraft 2, Тёма, соционика, spectator.ru, британские ученые, развитие, Масква, бабло, литература, фото, mobile, work, болкман, титаны, hard, hobius, mysql, интеллектуальный юмор, хостинг, blogowar.ru, графика, SEO, blogowar, magic, журналистика, злоба дня, религия, стартапы, social, tf2, цитаты, gzip, warhammer, браузеры, велосипед, киви, медикаментоз, общество, оговорки, html, воспитание, мифы, паранойа, письма в редакцию, учеба, 1998, soft, soviet, twdnkumus, глянцевые журналы, монетизация, норкотики, сайты, сиськи, типографика, тьюринг, mongodb, дизайн, железо, живут же люди, лолвут, плагиат, твиттер, тренд, 2012, about, бабушки, вещи, видео, зомбоящик, игрушки, социопатия,
Персональное
об авторе и сайте
мойкруг (резюме)
на G+
порнотумблер (rss)
инстаграм (хипстерские фото)

facebook
twitter

skype: acerbial
gtalk: dmitry.smirnov


C любовью к людишкам™,
♥ 1998 - 2013.

powered by mongodb.



Time diff (php)

Задача: функция, выдающая точный «человеческий» возраст (если человек родился 2 числа, то каждое второе число месяца ему будет N месяцев 0 дней, а не плюс-минус день).


function timediff ($t1, $t2, $mode=2)
// $t1>$t2
// mode:
// 5 - sec
// 4 - min
// 3 - hours
// 2 - days
// 1 - months


{

$d="YmdHis";
$mm = date ("t",mktime (0,0,0,date ("m",$t2),date ("d",$t2),date ("Y",$t2)));

$m=array (0, 12, $mm, 24, 60, 60);
$n = array ("г. ","мес. ","дн. ","ч. ","мин. ","сек. ");

for ($i=$mode; $i>-1; $i--)
{

$df = date ($d[$i],$t1) - date ($d[$i],$t2) + $sh;

if ($df<0)
{
$sh=-1;
$df=$m[$i]- date ($d[$i],$t2)+date ($d[$i],$t1);
}
else
$sh=0;

$date[$i]=$df;

if ($df<>0) $t=$df.$n[$i].$t." ";

}

return $t;
// return $date;

}

4 года назад
10
Demon
Именование переменных — низачот.
С хуев? Все названия интуитивно понятные.
Demon
> С хуев? Все названия интуитивно понятные.
Все прогрессивные программисты уже давно называют переменные так: v1, v2, v3, etc
Demon
И, кстати, что это за прикол — $df!=0?
Это только у тупых программистов пишется «0 лет 0 месяцев 1 день», а мы гуманитарии.
Demon
> Это только у тупых программистов пишется «0 лет 0 месяцев 1 день», а мы гуманитарии.
Вопрос был не в этом. Вопрос был в том, почему в коде «меньше больше», а не «воскл. знак равно».
Потому что это монопенисуально?
Об именах переменных. Однажды в SG возникла необходимость кое-что подправить в твоих PHP-исходниках. Опытный программист (опыт работы за границей, опыт работы в компании SUN ), услышав про это задание, сказал «А, раз плюнуть! Щаз разберемся!»

Но открыв страничку с твоим кодом, он сначала оторопел, а потом рассмеялся: «Не, за такое не возьмусь».

И еще он употребил матерное слово — ОБФУСКАТОР!!!

Обфускатор ты, Дима.

У меня совершенно нечитаемый код выходит, да.

ОБФУСКАТОР делает это специально, а я — нет.

Недель не хватает, Дима. Неужели в начале не считали возраст в неделях?
Факт, кстати. Спасибо, забыл.

Плюс в том, что недели добавляются без изменения кода (только данные надо подправить).

Не, вру, не добавляются. =) Офигеть, в date () есть «w — Порядковый номер дня недели», но нет «номер недели в месяце». Поэтому просто правкой массивов не выходит. Дурной язык какой.

Эх, вы, гуманитарии. Что будет, когда разница станет больше 5 лет? :)
Разница чего с чем?
Когда возраст будет 5 г. :)
Поменяю «г.» на «л.»!

На самом деле правильное склонение существительных — отдельная функция. Можно и дописать, но пока ломает.

> Обфускатор ты, Дима.

Дима не читатель, Дима — писатель :-P

alex grigorovich
Не работает, кстати.

$t1= mktime(3, 0, 0, 3, 25, 2007); // Sun Mar 25 01:00:00 2007
$t2= mktime(1, 0, 0, 3, 25, 2007); // Sun Mar 25 03:00:00 2007

$diff = intval(timediff($t1, $t2));
if (strtotime(«+» . $diff . « hour», $t2) != $t1) {
echo «oops!\n»;
}

Не говоря уже о том, что людям старше 37 тоже, бывает, надо считать свой возраст :)

Оба замечания весьмя забавны, но не по адресу.
Привет, Anonymous! Чтобы оставлять комментарии, надо авторизоваться.