Red Spirit

Блог Алексея Таянчина

RSS 2.0

PHP функция перевода времени в строку удобную для чтения

Вот как-то так она называется :) Изначально мне захотелось сделать так, чтобы было подробно видно как давно зарегистрировался юзер и как давно он был на сайте, типа так: Регистрация: 03.07.2010 | 2 года 4 месяца 29 дней 19 часов назад. Особой функциональной нагрузки тут нет, просто для наглядности. Накатал вот такую вот функцию, которая получает количество секунд в качестве аргумента (разницу между таймштампами) и выводит форматированную строку с точностью до минуты.

Приведенная функция требует для работы описанную мой ранее функцию склонения числительных, так что для полноты привожу код вместе с ней:

В данном примере на экран высветится “20 минут”. Второй параметр принимающий булево значение указывает, возвращать строку в сокращенном или в развернутом видеть, то есть полностью писать слова “минуты”, “часы” и др. принимая в расчет склонения.

Можно получить свой точный возраст вызвав типа такого: time_autoformat(time() – mktime(0, 0, 0, 8, 6, 1987), 1)
Это дата моего рождения, на момент написания статьи показывало: 25 лет 2 месяца 27 дней 7 часов 10 минут, забавно получается =)