Здравствуйте дамы и господа, представляю вашему вниманию функцию, собранную специально для того, что бы получать адекватные даты, типа: 15 Марта 2015 или 15 Березня 2015, зависит от опций, которые добавите... Сам код:
private function rel_date($danni = null, $lang = 'ukr') {
// Переклад
if ($lang == 'ukr') {
$translate = array(
"am" => "до",
"pm" => "по",
"AM" => "ДО",
"PM" => "ПО",
"Monday" => "Понеділок",
"Mon" => "Пн",
"Tuesday" => "Вівторок",
"Tue" => "Вт",
"Wednesday" => "Середа",
"Wed" => "Ср",
"Thursday" => "Четвер",
"Thu" => "Чт",
"Friday" => "П\'ятница",
"Fri" => "Пт",
"Saturday" => "Субота",
"Sat" => "Сб",
"Sunday" => "Неділя",
"Sun" => "Нж",
"January" => "Січня",
"Jan" => "Січ",
"February" => "Лютого",
"Feb" => "Лют",
"March" => "Березня",
"Mar" => "Бер",
"April" => "Квітня",
"Apr" => "Кві",
"May" => "Травня",
"May" => "Тра",
"June" => "Червня",
"Jun" => "Чер",
"July" => "Липня",
"Jul" => "Лип",
"August" => "Серпня",
"Aug" => "Сер",
"September" => "Вересня",
"Sep" => "Вер",
"October" => "Жовтня",
"Oct" => "Жов",
"November" => "Листопада",
"Nov" => "Лис",
"December" => "Грудня",
"Dec" => "Гру",
"st" => "е",
"nd" => "е",
"rd" => "е",
"th" => "е"
);
} elseif ($lang == 'rus') {
$translate = array(
"am" => "дп",
"pm" => "пп",
"AM" => "ДП",
"PM" => "ПП",
"Monday" => "Понедельник",
"Mon" => "Пн",
"Tuesday" => "Вторник",
"Tue" => "Вт",
"Wednesday" => "Среда",
"Wed" => "Ср",
"Thursday" => "Четверг",
"Thu" => "Чт",
"Friday" => "Пятница",
"Fri" => "Пт",
"Saturday" => "Суббота",
"Sat" => "Сб",
"Sunday" => "Воскресенье",
"Sun" => "Вс",
"January" => "Января",
"Jan" => "Янв",
"February" => "Февраля",
"Feb" => "Фев",
"March" => "Марта",
"Mar" => "Мар",
"April" => "Апреля",
"Apr" => "Апр",
"May" => "Мая",
"May" => "Мая",
"June" => "Июня",
"Jun" => "Июн",
"July" => "Июля",
"Jul" => "Июл",
"August" => "Августа",
"Aug" => "Авг",
"September" => "Сентября",
"Sep" => "Сен",
"October" => "Октября",
"Oct" => "Окт",
"November" => "Ноября",
"Nov" => "Ноя",
"December" => "Декабря",
"Dec" => "Дек",
"st" => "ое",
"nd" => "ое",
"rd" => "е",
"th" => "ое"
);
}
// Якщо дата отримана, то обробляємо її
if ($danni != null) {
$timestamp = strtotime($danni);
return strtr(date("j F Y", $timestamp), $translate);
} else {
// або виводимо поточну дату...
return strtr(date("j F Y"), $translate);
}
}
Инструкция: $this->rel_date() - выведет текущую дату, например 15 Березня 2015 (украинский перевод по умолчанию) $this->rel_date('2015-03-14', 'rus') - вывод заданной даты на русском //14 Марта 2015 $this->rel_date(null, 'rus') - вывод текущей даты на русском //15 Марта 2015 $this->rel_date('2015-03-14', 'ukr') - вывод указанной даты на украинском //14 Березня 2015 Практический пример (вывод даты в модуле новостей):
$this->data['news'][] = array(
'title' => $result['title'],
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $chars) . '..',
'href' => $this->url->link('information/news', 'news_id=' . $result['news_id']),
'thumb' => $image,
'posted' => $this->rel_date($result['date_added'], 'ukr')
);