[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Перевод даты из одного формата в другой
Invis1ble
Привет. Написал маленькую функцию, возможно кому-то будет полезна.
Чем она может быть полезна? Да хотя бы тем, что штатная date_format() не справляется со слешами в дате. Пример даты, которую не обрабатывает date_format() содержится в описании функции.
Оставляйте свои комментарии и критику, буду рад услышать ваше мнение.
/**
* Функция перевода даты и/или времени из одного формата в другой.
*
*
@version 1.0
*
@author Invis1ble
*
@since 30.06.2011
*
*
@param string $format формат даты и/или времени на выходе
*
@param string $date дата и/или время
*
@return mixed отформатированная дата и/или время или false
* в результате ошибки.
*
*
@example $date = date('d/m/Y H:i:s');
* $f_date = dateFormat($date, 'Y-m-d H:i:s');
*/

function dateFormat($date, $format) {
return ($timestamp = strtotime(str_replace('/', '.', $date)))
?
date($format, $timestamp)
:
false;
}




Спустя 15 минут, 52 секунды (30.06.2011 - 12:39) inpost написал(а):
date_format(str_replace('/','.',$date)); - чем плох?! smile.gif Вот если бы его научил ещё переводить название месяцев smile.gif

Спустя 6 минут (30.06.2011 - 12:45) Invis1ble написал(а):
inpost
Цитата
date_format(str_replace('/','.',$date)); - чем плох?!

1. создание дополнительного объекта (которого у тебя кстати нет ;) )
2. все же проще написать
dateFormat($date, 'Y-m-d');

чем
date_format(date_create(str_replace('/', '.', $date)), 'Y-m-d');

нет?
Цитата
Вот если бы его научил ещё переводить название месяцев

научи :) Переводом имхо должна заниматься другая функция, пихать все в одну не имеет смысла.

Спустя 2 часа, 12 секунд (30.06.2011 - 14:45) inpost написал(а):
Invis1ble
Разве? date_format же может и менять местами, и писать полностью название, значит и твоя должна это же уметь, но расширять функционал smile.gif

Спустя 43 минуты, 24 секунды (30.06.2011 - 15:28) Invis1ble написал(а):
inpost
Она ничего не должна :)
Я поставил цель написать легковесную функцию для перевода даты из формата аля Y.m.d в Y-m-d и подобное. Отягощать ее доп. функционалом я не собирался.
Если требуется получить русское название месяца, пожалуйста:
$locales = array('ru_UA.utf8'); // массив локалей
setlocale(LC_TIME, $locales);
echo strftime('%B', time());

Спустя 46 минут, 35 секунд (30.06.2011 - 16:15) Invis1ble написал(а):
По просьбе трудящихся представляю вам новую версию мега-функции :)
/**
* Функция перевода даты и/или времени из одного формата в другой.
*
*
@version 1.1
*
@author Invis1ble
*
@since 30.06.2011
*
*
@param string $format формат даты и/или времени на выходе
*
@param string $date дата и/или время
*
@return mixed отформатированная дата и/или время или false
* в результате ошибки.
*
*
@example $date = date('d/m/Y H:i:s');
* $f_date = dateFormat($date, '%d %B %Y');
*/

function dateFormat($date, $format) {
return ($timestamp = strtotime(str_replace('/', '.', $date)))
?
strftime($format, $timestamp)
:
false;
}


Пример использования:
$locales = array('ru_UA.utf8');
setlocale(LC_TIME, $locales);

$date = date('d/m/Y H:i:s');
echo dateFormat($date, '%A, %d %B %Y г.');


ПС. inpost, почему мои смайлы остаются в текстовом виде, а твои - преобразуются в картинки? Потому что ты повелитель смайлов? xD :huh:

Спустя 52 минуты, 24 секунды (30.06.2011 - 17:07) Winston написал(а):
Цитата (Invis1ble @ 30.06.2011 - 16:15)
ПС. inpost, почему мои смайлы остаются в текстовом виде, а твои - преобразуются в картинки?

ОФФТОП
Свернутый текст
У меня тоже последним временем такая же аномалия наблюдается, но не во всех темах huh.gif

Спустя 28 минут, 19 секунд (30.06.2011 - 17:36) VolDroN написал(а):
странно
smile.gif
:-)
:=)
smile.gif

Спустя 39 минут, 2 секунды (30.06.2011 - 18:15) DySprozin написал(а):
Invis1ble
уже обсуждали этот баг: если в посте ты вставляешь тег кода, то весь пост становится невосприимчивым к смайликам wink.gif

Спустя 32 секунды (30.06.2011 - 18:15) DySprozin написал(а):
Invis1ble
уже обсуждали этот баг: если в посте ты вставляешь тег кода, то весь пост становится невосприимчивым к смайликам

;) :lol: <_<

Спустя 3 минуты, 53 секунды (30.06.2011 - 18:19) inpost написал(а):
DySprozin
Да нет же, это просто совпадениеuser posted image
x='aaa';

user posted image

Я просто повелитель смайликов!


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.