Jump to content

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


Torner
 Share

Recommended Posts

Есть сайт на бесплатной платформе тех.поддержки 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

Чтобы не возникало подобных проблем, используйте известные CMS. Абсолютно непонятно зачем использовать малоизвестную систему со слабой тех. поддержкой когда есть популярные и проверенные временем готовые решения.

Link to comment
Share on other sites

Ну вообще-то OSTicket довольно известная платформа техподдержки с множеством функций. Я сначала хотел сделать техподдержку при помощи расширений Джумлы, но ни одно не сравнилось с ОСТикет...

Link to comment
Share on other sites

 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