Php int to hour

mktime

Функция возвращает метку времени Unix, соответствующую дате и времени, переданных в качестве аргументов. Метка времени — это целое число, равное разнице в секундах между заданной датой/временем и началом эпохи Unix (1 января 1970 00:00:00 GMT).

Любые необязательные аргументы, опущенные или равные null , будут установлены в текущее значение в соответствии с локальной датой и временем.

Обратите внимание, что порядок аргументов нечётный: month , day , year , а не в более разумной последовательности year , month , day .

Вызов функции mktime() без аргументов не поддерживается и приведёт к ошибке ArgumentCountError .

Список параметров

Количество часов, прошедших с начала дня, указанного параметрами month , day и year . Отрицательные значения определяют часы до полуночи указанного дня. Значения больше 23 определяют соответствующий час следующего дня (или дней).

Количество минут, прошедших от начала часа, указанного параметром hour . Отрицательные значения определяют минуты предыдущего часа. Значения больше 59 определяют соответствующие минуты следующего часа (или часов).

Количество секунд, прошедших от начала минуты, указанной параметром minute . Отрицательные значения определяют секунды из предыдущей минуты. Значения больше 59 определяют соответствующие секунды следующей минуты (или минут).

Количество месяцев, прошедших с конца предыдущего года. Значения от 1 до 12 определяют нормальные обычные календарные месяцы года. Значения меньше 1 (включая отрицательные значения) определяют месяца предыдущего года в обратном порядке, то есть 0 будет декабрём, -1 — ноябрём и т.д. Значения больше 12 определяют соответствующий месяц в следующем году (или годах).

Количество дней, прошедших с конца предыдущего месяца. Значения от 1 до 28, 29, 30 или 31 (в зависимости от месяца) определяют нормальные дни соответствующего месяца. Значения меньше 1 (включая отрицательные значения) определяют дни предыдущего месяца, таким образом, 0 является последним днём предыдущего месяца, -1 — предпоследним днём предыдущего месяца и т.д. Значения больше количества дней соответствующего месяца определяют соответствующий день следующего месяца (или месяцев).

Номер года, может быть указан двумя или четырьмя цифрами, причём значения между 0-69 будут трактованы как 2000-2069, а между 70-100 — как 1970-2000. На тех системах, где time_t является 32-битным знаковым целым (наиболее распространённый вариант на сегодня), корректный диапазон для параметра year содержит даты где-то между 1901 и 2038.

Возвращаемые значения

mktime() возвращает временную метку Unix в соответствии с переданными аргументами.

Список изменений

Версия Описание
8.0.0 hour больше не является необязательным. Если вам нужна временная метка Unix, используйте функцию time() .
8.0.0 minute , second , month , day и year теперь допускают значение null.

Примеры

Пример #1 Пример использования функции mktime()

// Устанавливаем используемый по умолчанию часовой пояс.
date_default_timezone_set ( ‘UTC’ );

// Выводит: July 1, 2000 is on a Saturday
echo «July 1, 2000 is on a » . date ( «l» , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));

// Выводит что-то вроде: 2006-04-05T01:02:03+00:00
echo date ( ‘c’ , mktime ( 1 , 2 , 3 , 4 , 5 , 2006 ));
?>

Пример #2 Пример использования mktime()

Функцию mktime() удобно использовать для выполнения арифметических операций с датами, так как она вычисляет верные значения при некорректных аргументах. Например, в следующем примере каждая строка выведет «Jan-01-1998».

echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 12 , 32 , 1997 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 13 , 1 , 1997 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 1 , 1 , 1998 ));
echo date ( «M-d-Y» , mktime ( 0 , 0 , 0 , 1 , 1 , 98 ));
?>

Пример #3 Последний день месяца

Последний день любого месяца можно вычислить как «нулевой» день следующего месяца, не -1 день. Оба приведённых ниже примера выведут «Последний день февраля 2000 г.: 29».

$lastday = mktime ( 0 , 0 , 0 , 3 , 0 , 2000 );
echo strftime ( «Последний день февраля 2000 г.: %d» , $lastday );
$lastday = mktime ( 0 , 0 , 0 , 4 , — 31 , 2000 );
echo strftime ( «Последний день февраля 2000 г.: %d» , $lastday );
?>

Смотрите также

  • Класс DateTimeImmutable
  • checkdate() — Проверяет корректность даты по григорианскому календарю
  • gmmktime() — Возвращает локальную метку времени Unix для времени по Гринвичу
  • date() — Форматирует временную метку Unix
  • time() — Возвращает текущую метку системного времени Unix

User Contributed Notes

Оцените статью