Здравствуйте! Ребятки, нужна ваша помощь. Есть код: Код (Text): <?php $day = strtotime("next Monday"); for ($i=1; $i <= 7; $i++) { $weekday = date("w",$day); $field_open = $weekday.'_open_time'; $field_close = $weekday.'_close_time'; echo "<tr><td><div class='bold'>".date("l",$day)."</div></td><td class='padding-left-20'>". date('H:i',strtotime($row->$field_open))." - ".date('H:i',strtotime($row->$field_close)). "<br/></td></tr>"; $day = $day + 86400; } ?> Отображается он следующим образом: Monday 00:00 - 00:00 Tuesday 00:00 - 00:00 Wednesday 00:00 - 00:00 Thursday 00:00 - 00:00 Friday 00:00 - 00:00 Saturday 00:00 - 00:00 Sunday 00:00 - 00:00 Нужно сделать вот так: Понедельник 00:00 - 00:00 Вторник 00:00 - 00:00 Среда 00:00 - 00:00 Четверг 00:00 - 00:00 Пятница 00:00 - 00:00 Суббота 00:00 - 00:00 Воскресенье 00:00 - 00:00 Жду от Вас конкретного решения. Заранее спасибо.
Вместо date использовать strftime. Обратите внимание, что форматирование вывода у этих функций отличается. http://php.net/manual/en/function.strftime.html
Я обычно так делаю: Код (PHP): <?php // Вывод даты на русском $monthes = array( 1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля', 5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа', 9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря' ); echo(date('d ') . $monthes[(date('n'))] . date(' Y, H:i')); // Вывод дня недели echo('<br />'); $days = array( 'Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота' ); echo($days[(date('w'))] . date(', H:i')); ?>
Читаем документацию: Следовательно, единственный верный ответ у asokol. Стоит лишь добавить ещё одну ссылку: http://ru2.php.net/manual/ru/function.setlocale.php Код (PHP): <?php setlocale(LC_ALL, 'ru_RU.UTF-8'); echo strftime('%S', time()); ?> Код (Text): Вт. 24 янв. 2012 19:22:35
нет, смотрите смотрите функцию strftime, ссылка на которую есть выше Код (Text): php > echo strftime('%b %B %h %m', strtotime("+6 month")); июля Июль июля 07
да на самом деле все проще можно сделать. конечно код не идеальный, но понятный. PHP: <?php echo date("d "); $mounth = date("m"); if ($mounth == '01'){echo ' янв ';} if ($mounth == '02'){echo ' фев ';} if ($mounth == ' 03'){echo ' марта ';} if ($mounth == '04'){echo ' апр ';} if ($mounth == '05'){echo ' мая ';} if ($mounth == '06'){echo ' июня ';} if ($mounth == '07'){echo ' июля ';} if ($mounth == '08'){echo ' авг ';} if ($mounth == '09'){echo ' сент ';} if ($mounth == '10'){echo ' окт ';} if ($mounth == '11'){echo ' нояб ';} if ($mounth == '12'){echo ' дек ';} echo date("Y"); ?>
@hack-dag https://secure.php.net/manual/en/intldateformatter.format.php https://php.ru/forum/threads/ispravit-datu-na-russkij-jazyk-v-php-fajle.58712/#post-471937
может для тебя код и "гав..о" но как по мне - он рабочий и понятен для простого человека. если у тебя есть свои варианты отображения даты на русском языке то пиши то, что не было уже сказано в ответах, а не высказывай мнение.
Думается мне, не только для меня он говно. здесь обсуждается программирование. Простой человек не должен заниматься программированием. Он должен быть бухгалтером/газонокосильщиком/директором/менеджером. А тебе совет, раз ты так отреагировал на мою справедливую критику - бросай программирование. @Ganzal, сорян, занял место
если тебе скучно и не с кем поговорить выйди на улицу там интереснее.. и завязывай с оскорблениями. советую бросить тебе программирование, займись хозяйством. это как раз в твою степь...
@hack-dag, оскорбляется тот, кто хочет быть оскорблённым. Если в моих словах ты увидел оскорбления - значит ты хочешь так думать. Тут я помочь ничем не в силах. А на слабо я не ведусь, к сожалению.
@hack-dag, для этой задачи есть готовое решение в самой PHP зачем изобретать велосипед. Выше по теме вроде это обсудили. Конечно в качестве образования получения опыта можно изобретать велосипеды, но советовать другим так делать не стоит . @denis01 дал тебе ссылки, почитай. @hack-dag, если любишь писать if-else оператор в строчку используй для этого тернарный оператор сравнения: https://php.ru/manual/language.operators.comparison.html (почитай).
PHP: // дата в нормальном виде 23 июля 2016 г. $rus_months = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'); $newDatetime = new Datetime($row_mysql['data']); $month = $newDatetime->format('n'); $album_data = $newDatetime->format('j '.$rus_months[$month-1].''); $album_data .= $newDatetime->format('Y г., H:m'); if (($newDatetime->format('H:i:s')) == '00:00:00') { $album_data = $newDatetime->format('j '.$rus_months[$month-1].''); $album_data .= $newDatetime->format('Y г.');; } $row_mysql['data'] - дата из базы в формате без конвертации - ГГГГ-ММ-ДД ЧЧ:ММ:СС
Код (Text): // дата в нормальном виде 23 июля 2016 г. $rus_months = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'); $newDatetime = new Datetime($row_mysql['data']); $month = $newDatetime->format('n'); $album_data = $newDatetime->format('j '.$rus_months[$month-1].''); $album_data .= $newDatetime->format('Y г., H:m'); if (($newDatetime->format('H:i:s')) == '00:00:00') { $album_data = $newDatetime->format('j '.$rus_months[$month-1].''); $album_data .= $newDatetime->format('Y г.');; } как бы ещё сюда день недели добавить?
Работает полностью как родная функция date + обрусевшие месяца и дни м | д.Пользуйтесь ) PHP: function dateru($str) { $result = ""; $iter = 0; while ($iter < mb_strlen($str)) { switch (mb_substr($str,$iter,1)) { case 'д': { $dayN = date("N"); $day = ""; switch ($dayN) { case 1:$day = "Понедельник";break; case 2:$day = "Вторник";break; case 3:$day = "Среда";break; case 4:$day = "Четверг";break; case 5:$day = "Пятница";break; case 6:$day = "Суббота";break; case 7:$day = "Воскресенье";break; } $iter++; $result .= $day; break; } case 'м': { $monthN = date("m"); $month = ""; switch($monthN) { case '01':$month = "Январь";break; case '02':$month = "Февраль";break; case '03':$month = "Март";break; case '04':$month = "Апрель";break; case '05':$month = "Май";break; case '06':$month = "Июнь";break; case '07':$month = "Июль";break; case '08':$month = "Август";break; case '09':$month = "Сентябрь";break; case '10':$month = "Октябрь";break; case '11':$month = "Ноябрь";break; case '12':$month = "Декабрь";break; } $iter++; $result .= $month; break; } default: { $result .= date(mb_substr($str,$iter,1)); $iter++; break; } } } return $result; }