Уважаемые php-гуру, прошу вашей помощи. Я задолбался! У меня есть дата, которую когда-то задали способом date("z") [порядковый номер дня в году]. Мне нужно ее переконвертировать в вид [число.месяц]. Я пробовал несколько способов, но все они были скорее попыткой почесать левое ухо через правое плечо :roll: . Так вот, уважаемые php-гуру, надеясь на ваш многолетний опыт хочу попросить у вас помощи. Может быть вы уже сталкивались с этим и может быть даже у вас где-нибудь залежался код...))) Заранее спасибо)
Это плохо А год известен? Если год текущий, то можно и так попробовать: PHP: <?php $thistime = date("z")*3600*24; $timeyear = mktime(0, 0, 0, 1, 1, 2008); echo date("d.M", ($timeyear+$thistime)); ?>
Мдя) Я не допер че-то до этого. Спасиб большое)))) еще... уточнить можно? PHP: <?php $day = 256; //порядок дня в году (взял число от балды, но до 365) $year = 2008; //год типа тоже может быть любой как я понял $thistime = $day*3600*24; $timeyear = mktime(0, 0, 0, 1, 1, $year); //по сути год нужен только для определения его (не)високосности, ведь так? echo date("d.M", ($timeyear+$thistime)); // выводит 13 сентября :D ?> Все верно?
Да, верно. Насчет года в mktime - не совсем. Эта функция возвращает кол-во секунд с 1970 года (UNIX timestamp называется), поэтому год в ней важен.
не могли бы вы обьяснить? почему нельзя просто записать PHP: <?php echo date("d.M"); ?> ? И что задаёт второй аргумент?
marcuss, потому что это вернёт текущий день и месяц. Завтра он вернёт завтрашний день и месяц. http://php.net/date
Kreker, просто через mktime, отсчитывая от эпохи юникс, мы, по сути, опредеяем кол-во дней в году, тем самым определяя параметр, который я в своих запутанных кодах выражал через date("L"). Я это имел ввиду. Ну, собственно это уже не важно, не грузите свой мозг =) Еще раз вам СПАСИБО за код