Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Класс для работы со временем. Есть ли готовый.


Автор: newVlad 13.9.2011, 11:27
Доброго времени суток!
 Необходим класс, который содержит в себе слудющий функционал:
1) Приводит несколько  полей из БД типа "timestamp with time zone" в читабельный руссифицированный вид.
2) Есть возможность арифмитических действий со временем. Например: 3 часа 20 минут - 1 час 45 минут
3) Есть возможность окргуления, до получаса, до 15 минут и т.д.
4) И обратно из человекочитабельного формата вновь в timestamp


Не хотелось бы создавать велосипед.
Пока смотрю в сторону http://pear.php.net/packages.php?catpid=8&catname=Date+and+Time, но там все возможные классы только в версиях alpha и beta, работать  с  сырым, да еще и чужим, кодом тоже бы не хотелось.
 
Что можете посоветовать?

Какие вы используете альтернативные хранилища кода, подобные pear.php.net?

Автор: solenko 13.9.2011, 13:13
первый вопрос классический -- чем не устроил http://ua.php.net/manual/en/book.datetime.php?

Автор: Sanchezzz 15.9.2011, 00:06
даме можно не стандартный а тупо простоя функция date

1 пусть языки хранятся в массиве 
Код

$month = array('montch_1'=>'Январь'  , 'montch_2'=>'Февраль'); // etc

2
timestamp можно дернуть и перевести в нудный тебе формат 
хотя я предпочитаю хранить время в числе в time() в базе это удобно и на мой взгляд быстрей хоня при просмотре бд не наглядно ну как говорится пох.
Код


$time = strtotime($row[date]);
// Русская дата 2 варианта задать локаль что не на всех серверах может работь нормально  setlocale
// и 2 вариант ручной и рабочий на 100% везде.

printf('%1 %2 %3', date('d', $time) , $month['montch_' . date('m', $time) ] , date('Y', $time) ;

// в догонку strtotime("+1 week 2 days 4 hours 2 seconds")



Автор: newVlad 15.9.2011, 00:23
solenko, пожалуй да, решение иногда совсем под носом бывает.

Sanchezzz, тоже как вариант кстати, спасибо но с учетом того, что ещё округление и часовую арифметику кодить (а это нескончаемые if else, а потом ещё тестить), то лучше сначала посмотрю готовые варианты, а там если что допилю.

Ребят, спасибо за ответы.

З.Ы.: Извините репу никак не могу плюсануть - постов немного....

Автор: MoLeX 15.9.2011, 06:00
newVlad, зато модераторы могут. что и сделано было

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)