<MyRusakov.ru />

JavaScript, jQuery и Ajax с Нуля до Гуру

JavaScript, jQuery и Ajax с Нуля до Гуру

Видеокурс "JavaScript, jQuery и Ajax с Нуля до Гуру" научит Вас "вдыхать жизнь" в страницы, делая их с потрясающими эффектами и максимальным удобством для пользователя.

Курс научит Вас писать скрипты на JavaScript, а также обучит использованию библиотеки jQuery и технологии Ajax.

Практически любой красивый сайт (с красивыми галереями изображений, слайдерами, плавными переходами и так далее) использует jQuery. А практически на любом серьёзном сайте вовсю используется технология Ajax, которая делает работу с сайтом максимальной удобной.

Поэтому курс "JavaScript, jQuery и Ajax с Нуля до Гуру" Вам просто необходим, если Вы хотите создавать по-настоящему достойные сайты.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Преобразование mysql даты в русский формат
21.04.2013 12:53:29 Преобразование mysql даты в русский формат Сообщение #1
ksyushenka

ksyushenka

Новичок

Новичок

Дата регистрации:
21.04.2013 12:42:00

Сообщений: 1

Михаил, подскажите как Вы на своем блоге реализовали вывод даты на русском?
Думала решить вопрос таким образом:


function rusDate($date=false,$format=1) {
if (!$date) {
$date = date('Y-m-d');
}
$tmp = explode('-',$date);
$day = $tmp[2];
$month = $tmp[1];
$year = $tmp[0];
$months = array('','Января','Февраля','Марта','Апреля','Мая', 'Июня','Июля','Августа','Сентября','Октября','Ноября','Декабря');
$months_s = array('','Январь','Февраль','Март','Апрель','Май', 'Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
if ($format==1) {
return $day."&nbsp;".$months[$month].'&nbsp;'.$year.'&nbsp;г.';
} elseif ($format==2) {
return $day."&nbsp;".$months[$month];
} elseif ($format==3) {
return $months_s[$month].' '.$year.' г.';
}
}



но, увы(((

Профиль Ответить
21.04.2013 14:19:09 Преобразование mysql даты в русский формат Сообщение #2
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 58

Ну во первых пользуйтесь подцветкой синтаксиса,
читать не удобно. Во вторых попробуйте это.

function mysql_russian_date($datestr = ''){
if ($datestr == '')
return '';
// получаем значение даты и времени
list($day) = explode(' ', $datestr);
switch( $day ){
// Если дата совпадает с сегодняшней
case date('Y-m-d'):
$result = 'Сегодня';
break;
//Если дата совпадает со вчерашней
case date( 'Y-m-d', mktime(0, 0, 0, date("m", date("d"-1, date("Y") ):
$result = 'Вчера';
break;
default:{
// Разделяем отображение даты на составляющие
list($y, $m, $d) = explode('-', $day);
$month_str = array(
'января', 'февраля', 'марта',
'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября',
'октября', 'ноября', 'декабря'
);
$month_int = array(
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12'
);

// Замена числового обозначения месяца на словесное (склоненное в падеже)
$m = str_replace($month_int, $month_str, $m);
// Формирование окончательного результата
if ($d[0] == 0) $d = $d[1];
$result = $d.' '.$m.' '.$y;
}
}
return $result;
}

Пять минут поиска в гугле.
Профиль Ответить
14.05.2013 05:03:14 Преобразование mysql даты в русский формат Сообщение #3
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

А КАК ПРИМЕНИТЬ ЭТУ ФУНКЦИЮ К MYSQL?
Профиль Ответить
14.05.2013 09:06:38 Преобразование mysql даты в русский формат Сообщение #4
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 58

если дата приходит вида $date = 2013-05-14,
то прогоняем дату через функцию mysql_russian_date($date). На выходе должно получиться 14 мая 2013.
Профиль Ответить
14.05.2013 14:24:29 Преобразование mysql даты в русский формат Сообщение #5
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

Ошибка - Fatal error: Cannot redeclare mysql_russian_date() (previously declared in v:\home
Профиль Ответить
14.05.2013 14:33:44 Преобразование mysql даты в русский формат Сообщение #6
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 58

это значит что функцию невозможно переопределить, назовите ее по другому.
Профиль Ответить
14.05.2013 14:35:12 Преобразование mysql даты в русский формат Сообщение #7
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

Что я делаю не так?

$result_all_users = mysql_query("SELECT id,name,surname,date FROM demka ORDER BY id DESC",$db);
$myrow_all_users = mysql_fetch_array($result_all_users);

do {

$date = $myrow_all_users['date'];

function mysql_russian_date($date = ''){
if ($date == '')
return '';
// получаем значение даты и времени
list($day) = explode(' ', $date);
switch( $day ){
// Если дата совпадает с сегодняшней
case date('Y-m-d'):
$result = 'Сегодня';
break;
//Если дата совпадает со вчерашней
case date( 'Y-m-d', mktime(0, 0, 0, date("m", date("d"-1, date("Y") ):
$result = 'Вчера';
break;
default:{
// Разделяем отображение даты на составляющие
list($y, $m, $d) = explode('-', $day);
$month_str = array(
'января', 'февраля', 'марта',
'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября',
'октября', 'ноября', 'декабря'
);
$month_int = array(
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12'
);

// Замена числового обозначения месяца на словесное (склоненное в падеже)
$m = str_replace($month_int, $month_str, $m);
// Формирование окончательного результата
if ($d[0] == 0) $d = $d[1];
$result = $d.' '.$m.' '.$y;
}
}
return $result;
}


printf("<div style='width: 400px; border: 1px solid #DDDDDD; color: #333; padding: 10px;'>
<a href='http://counter-strike.ua/user.php?id=%s'>%s %s</a>
<p>Дата: %s</p>
</div><br>",$myrow_all_users['id'],$myrow_all_users['name'],$myrow_all_users['surname'],$result);
}

while($myrow_all_users = mysql_fetch_array($result_all_users));
Профиль Ответить
14.05.2013 14:47:48 Преобразование mysql даты в русский формат Сообщение #8
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 58

Попрбуйте вот так, код я не проверял.


$result_all_users = mysql_query("SELECT `id`,`name`,`surname`,`date` FROM `demka` ORDER BY `id` DESC",$db);


function mysql_russian_date($date = ''){
if ($date == '')
return '';
// получаем значение даты и времени
list($day) = explode(' ', $date);
switch( $day ){
// Если дата совпадает с сегодняшней
case date('Y-m-d'):
$result = 'Сегодня';
break;
//Если дата совпадает со вчерашней
case date( 'Y-m-d', mktime(0, 0, 0, date("m", date("d"-1, date("Y") ):
$result = 'Вчера';
break;
default:{
// Разделяем отображение даты на составляющие
list($y, $m, $d) = explode('-', $day);
$month_str = array(
'января', 'февраля', 'марта',
'апреля', 'мая', 'июня',
'июля', 'августа', 'сентября',
'октября', 'ноября', 'декабря'
);
$month_int = array(
'01', '02', '03',
'04', '05', '06',
'07', '08', '09',
'10', '11', '12'
);

// Замена числового обозначения месяца на словесное (склоненное в падеже)
$m = str_replace($month_int, $month_str, $m);
// Формирование окончательного результата
if ($d[0] == 0) $d = $d[1];
$result = $d.' '.$m.' '.$y;
}
}
return $result;
}




while($row = mysql_fetch_assoc($result_all_users)){
printf("<div style='width: 400px; border: 1px solid #DDDDDD; color: #333; padding: 10px;'>
<a href='http://counter-strike.ua/user.php?id=%s'>%s %s</a>
<p>Дата: %s</p>
</div><br>",$row['id'],$row['name'],$row['surname'],mysql_russian_date($row['date']));
}


Вы использовали функции внутри цикла, это не нужно. Функцию нужно писать отдельно, а вызывать можно в цикле. И я использую цикл while вместо do-while, и вам рекомендую его использовать.
Профиль Ответить
14.05.2013 14:55:33 Преобразование mysql даты в русский формат Сообщение #9
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

СПАСИБО БОЛЬШОЕ, ВСЕ РАБОТАЕТ!))) У ВАС НАВЕРНОЕ БОЛЬШОЙ ОПЫТ ПРОГРАММИРОВАНИЕ НА ПХП?
Профиль Ответить