Lyona говорила про время от каждой из этих дат до сегодня. Lyona, у вас, кстати, разница не только в один день, но еще и в два года и 1 месяц Проверил это же на скрипте Dagdamora - вроде бы красиво работает. Попробуйте. Там и недели есть. Про картинки уже сказали...
Счетаем до сегодня PHP: <? $base_day = 28; // no leading "0" $base_mon = 9; // no leading "0" $base_yr = 2005; // use 4 digit years! $current_day = date ("j"); $current_mon = date ("n"); $current_yr = date ("Y"); ........ ?> PHP: <? $base_day = 28; // no leading "0" $base_mon = 10; // no leading "0" $base_yr = 2005; // use 4 digit years! $current_day = date ("j"); $current_mon = date ("n"); $current_yr = date ("Y"); ........ ?> Данный скрипт переделал под себя(добавил часы и минуты) вот что получилось (в некоторых случаях часы и минуты считает не правильно, ибо впадлу думать стало )
Вльдемар Пеффко не пил 4 дня 11 часов 36 минут конечно! У тебя же parse error, unexpected ';' в подписи
я задал такие даты 28.9.2005 и 28.10.2005 и получилось Цитата: The difference between 2005-9-28 and 2005-10-28 is: 0 years, 1 month and 0 days Я ошиблась, для второй даты год 2003 Вльдемар, а это так задумано, что не пил 5 дней 2 часа 31 минуту, а бегунок ровно на шестёрке? разве этими командами задаётся какой-то формат? У обоих только ширина и высота указывается. А потом я уже накладывать буду форматы gif и png в сочетаниях. Взяла скрипт Dagdamora Добавила туда дни, но кажется не то, потому что если подставлять дату 13.02.2006, то в ответе 1 год и 2 дня на датах 28.09.2005 и 28.10.2003 выдаётся 20 дней (если текущая дата 15.02.2007)
Lyona, нет, true color используется для jpg. а png - тоже разный бывает, если png-8 - т.е. фактически, тот же гиф, то он тоже индексированный, если png-24 (с альфа каналами) - он true color. т.е. разница между командами - одна создает индексированное изображение (обязательно, если хотите прозрачность) - это imagecreate, вторая(imagecreatetruecolor) - создает полноцветное изображение, где прозрачность будет только при сохранении в png-24, который во первых, ощутимо больше по размеру, во вторых, прозрачность в нем реализована альфа-каналом, что значит что в IE так просто работать не будет. Еще вопросы?
Да, значит идет 6-й день(правильно было бы 6-е сутки) после последнего употребления пеффка Ну уже правда не разу не 6-ой :lol:
угу кстати, обратите внимание: в этом скрипте даты надо передавать без ведущих нулей. $v=array("day"=>28,"month"=>9,"year"=>2005); => Y: 1, m: 4, w: 4, d: 21 $v=array("day"=>28,"month"=>09,"year"=>2005); => Y: 2, m: 1, w: 3, d: 19 (Игра называется "Ну-ка, посчитай"
Люди-и-и, ну хоть кто-то, помогите разобраться с датами.... Пожа-а-алуйста! Я уже доделала всё остальное и только эти несколько дней разницы в датах портят мне жизнь...
А попробуйте весь скрипт, который считает прошедшее время, взять в цикл. И в этом цикле пройтись, скажем, один год. Ну т.е. в цикле пусть меняются начальные даты от текущей до ровно год назад,.. помесячно. Ммм.. как же это по-русски сказать) Типа, сейчас 18.2.2007, посчитать разницу до 18.1.2007, 18.12.2006, 18.11.2006, ..., 18.1.2006 При каждой итерации выводить на экран результат, а потом с календариком в руках все проверить. Может, найдете, где "сбой" происходит... Потом можно по дням то же самое, чтоб точнее...
Lyona, найти, с какого момента начнется неправильный подсчет. Можно будет четко выявить, откуда появляются лишние дни. А от этого уже плясать дальше. Ну или просто,.. чтоб не скучно было )
я ввожу даты (сегодня у меня ещё 18.02.2007): и через тире ответ пишу: 18.02.2007 - 1 день 18.01.2006 - 1 год 1 мес 1 день 18.02.2006 - 1 год 1 день 18.03.2006 - 9 мес 4 дня 18.04.2006 - 10 мес 3 дня 18.05.2006 - 9 мес 4 дня и дальше до декабря попеременно 3-4 дня.
3-4 дня - фигня А что с месяцами за прикол??? :shock: Год, потом 9 мес, 10, 9, ??? чзх Возьми, что ли, другой скрипт ) Их тут помойму три было.
pel, с месяцами это я недоглядела. Там всё правильно, это я так неудачно написала. Меня как раз интересует чтоб не было этого разброса в днях. Я видела тут только 2 скрипта, оба со своими глюками в днях.
ну вот. Был еще такой скрипт Вльдемара: PHP: $base_day = 19; $base_mon = 9; $base_yr = 2006; $current_day = 19; $current_mon = 2; $current_yr = 2007; $base_mon_max = date ("t",mktime (0,0,0,$base_mon,$base_day,$base_yr)); $base_day_diff = $base_mon_max - $base_day; $base_mon_diff = 12 - $base_mon - 1; $start_day = 1; $start_mon = 1; $start_yr = $base_yr + 1; $day_diff = ($current_day - $start_day) + 1; // add today $mon_diff = ($current_mon - $start_mon) + 1; // add current month $yr_diff = ($current_yr - $start_yr); $day_diff = $day_diff + $base_day_diff; $mon_diff = $mon_diff + $base_mon_diff; if ($day_diff >= $base_mon_max) { $day_diff = $day_diff - $base_mon_max; $mon_diff = $mon_diff + 1; } if ($mon_diff >= 12) { $mon_diff = $mon_diff - 12; $yr_diff = $yr_diff + 1; } print "The difference between <b>".$base_yr."-".$base_mon."-".$base_day."</b> "; print "and <b>".$current_yr."-".$current_mon."-".$current_day."</b> is:"; print "<br><br>"; $years = "years"; $days = "days"; if ($yr_diff == "1") $years = "year"; if ($day_diff == "1") $days = "day"; print $yr_diff." ".$years.", "; print $mon_diff." month and "; print $day_diff." ".$days; тоже, вроде, красивенько Правда, как сказал Вльдемар, он не работает ни у кого, кроме него (и теперь еще + кроме меня)) И тут недель нет. Но это ж теперь уже для вас не сложно?
pel, его я тоже смотрела. Результаты: The difference between 2005-9-28 and 2007-2-19 is: 1 year, 4 month and 21 days The difference between 2003-10-28 and 2007-2-19 is: 3 years, 3 month and 22 days The difference between 1996-2-28 and 2007-2-19 is: 10 years, 11 month and 20 days The difference between 2006-2-28 and 2007-2-19 is: 0 years, 11 month and 19 days вот эта разница в днях мне и не нравится... А в остальном у меня он тоже вроде работает нормально
Lyona, та там 100пудов високосные попадаются,.. укороченные месяцы, 31е февраля, Марс в Скорпионе, мало ли))) Если честно, лично я бы сначала заморочился с календарем в руках,.. а потом либо понял бы, что все правильно, либо забил бы на этот фигов +- день