Jump to content
  • 0

Изменение вывода даты и времени для проекта на PHP


Torner
 Share

Question

В ветке коммерческих услуг создал такую же тему http://forum.htmlbook.ru/index.php?showtopic=21361 - если можете помочь бесплатно, то буду очень благодарен, или же оплачу вам, если вы хорошо выполните работу(если вы сразу намерены на оплату) Работа в принципе очень легкая для человека, знающего PHP - на несколько минут.

Есть сайт на бесплатной платформе тех.поддержки OSTicket. Время выводится на английском языке. Надо сделать так, чтобы время выводилось на русском языке, т.е., к примеру, не так Fri, Jul 16 2010 4:00 am, а так Пятн., 16 Июля 2010 16:00

В PHP я не силен. Каким образом выводится время найти не удалось, похоже что в файлах вообще нигде не прописано каким образом оно выводится. Нашел только переменные, которые отвечают за вывод времени: переменная db_daydatetime(самый полный вывод с названиями дней и месяцев), db_datetime(усредненный вариант), db_date(самый краткий вариант).

В общем надо переделать вывод времени и внедрить русский вариант. Здесь http://ua2.php.net/manual/en/function.date.php есть модификация для вывода времени на русском языке, но я не знаю как ее внедрить, т.к. В PHP я не силен.

Вот сама модификация:

<?php
/*
these are the russian additional format characters
д: full textual representation of the day of the week
Д: full textual representation of the day of the week (first character is uppercase),
к: short textual representation of the day of the week,
К: short textual representation of the day of the week (first character is uppercase),
м: full textual representation of a month
М: full textual representation of a month (first character is uppercase),
л: short textual representation of a month
Л: short textual representation of a month (first character is uppercase),
*/
function date_ru($formatum, $timestamp=0) {
if (($timestamp <= -1) || !is_numeric($timestamp)) return '';
$q['д'] = array(-1 => 'w', 'воскресенье','понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота');
$q['Д'] = array(-1 => 'w', 'Воскресенье','Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота');
$q['к'] = array(-1 => 'w', 'вс','пн', 'вт', 'ср', 'чт', 'пт', 'сб');
$q['К'] = array(-1 => 'w', 'Вс','Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб');
$q['м'] = array(-1 => 'n', '', 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
$q['М'] = array(-1 => 'n', '', 'Января', 'Февраля', 'Март', 'Апреля', 'Май', 'Июня', 'Июля', 'Август', 'Сентября', 'Октября', 'Ноября', 'Декабря');
$q['л'] = array(-1 => 'n', '', 'янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек');
$q['Л'] = array(-1 => 'n', '', 'Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек');

if ($timestamp == 0)
$timestamp = time();
$temp = '';
$i = 0;
while ( (strpos($formatum, 'д', $i) !== FALSE) || (strpos($formatum, 'Д', $i) !== FALSE) ||
(strpos($formatum, 'к', $i) !== FALSE) || (strpos($formatum, 'К', $i) !== FALSE) ||
(strpos($formatum, 'м', $i) !== FALSE) || (strpos($formatum, 'М', $i) !== FALSE) ||
(strpos($formatum, 'л', $i) !== FALSE) || (strpos($formatum, 'Л', $i) !== FALSE)) {
$ch['д']=strpos($formatum, 'д', $i);
$ch['Д']=strpos($formatum, 'Д', $i);
$ch['к']=strpos($formatum, 'к', $i);
$ch['К']=strpos($formatum, 'К', $i);
$ch['м']=strpos($formatum, 'м', $i);
$ch['М']=strpos($formatum, 'М', $i);
$ch['л']=strpos($formatum, 'л', $i);
$ch['Л']=strpos($formatum, 'Л', $i);
foreach ($ch as $k=>$v)
if ($v === FALSE)
unset($ch[$k]);
$a = min($ch);
$temp .= date(substr($formatum, $i, $a-$i), $timestamp) . $q[$formatum[$a]][date($q[$formatum[$a]][-1], $timestamp)];
$i = $a+1;
}
$temp .= date(substr($formatum, $i), $timestamp);
return $temp;
}

echo 'Сегодня '.date_ru('Д, d л Y');
?>

Edited by Torner
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Int

Можно об этом попдробнее плиз, а то я не бум-бум в php. Где это прописать, чтобы время везде выводилось одинаково? И каким образом тогда будет выводиться время, за счет данных сервера?

Link to comment
Share on other sites

  • 0

Да в любом файле, но он должен подгружаться раньше, чем начнут выполняться функции date(). Тут всё от движка зависит. У меня это обычно config.php, я его гружу самым первым всегда.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy