Приднестровская поддержка XOOPS
Для того чтобы узнать значение временной метки для нужной даты, в РНР есть готовая функция mktime, которая рассчитывает его на основе заданной даты и времени.
Порядок аргументов следующий: час, минуты, секунды, месяц, день и год. В примере ниже переменной $timestamp присваивается значение временной метки, которое соответствует 25 декабрю 2001 года в 8 часов утра:
$timestamp = mktime(8, 0, 0, 12, 25, 2001);
Формат временной метки Unix начинается с 1 января 1970 года в полночь по GMT. Функция mktime возвращает значение временной метки на основе часового пояса, который установлен на Web-сервере. Например, mktime с одинаковыми аргументами для Техаса вернет значение временной метки на 3600 больше, чем для компьютера в Нью-Йорке.
функция mktime — нестрогая и позволяет вводить бесчленные аргументы. Например, несуществующий день месяца. Если попытаться узнать значение временной метки 29 февраля в невисокосном году, на выходе получим значение для 1 марта:
echo date("d/m/Y", mktime (12, 0, 0, 2, 29, 2003));
Это позволяет выполнять различные арифметические операции с датой и временем. В примере ниже рассчитывается и выводится дата и время для 37 часов после полудня 30 декабря 2001 года:
$time = mktime(12 + 37, 0, 0, 12, 30, 2001);
echo date("d/m/Y H:i:s", $time);
Просто прибавляя нужное значение к одному из аргументов в mktime, можно смещать искомое значение временной метки. На выходе получим следующий вид для даты и времени:
В этой дате корректно сместились все значения: день, месяц, год и время. Здесь учитывается то, что декабрь последний месяц в году, и количество дней в нем.
Отправитель | Нити |
---|
8 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 8 далее... |