Php текущая временная метка

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.

Читайте также:  Python list to json dump

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

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

  • Функции даты и времени
    • checkdate
    • date_​add
    • date_​create_​from_​format
    • date_​create_​immutable_​from_​format
    • date_​create_​immutable
    • date_​create
    • date_​date_​set
    • date_​default_​timezone_​get
    • date_​default_​timezone_​set
    • date_​diff
    • date_​format
    • date_​get_​last_​errors
    • date_​interval_​create_​from_​date_​string
    • date_​interval_​format
    • date_​isodate_​set
    • date_​modify
    • date_​offset_​get
    • date_​parse_​from_​format
    • date_​parse
    • date_​sub
    • date_​sun_​info
    • date_​sunrise
    • date_​sunset
    • date_​time_​set
    • date_​timestamp_​get
    • date_​timestamp_​set
    • date_​timezone_​get
    • date_​timezone_​set
    • date
    • getdate
    • gettimeofday
    • gmdate
    • gmmktime
    • gmstrftime
    • idate
    • localtime
    • microtime
    • mktime
    • strftime
    • strptime
    • strtotime
    • time
    • timezone_​abbreviations_​list
    • timezone_​identifiers_​list
    • timezone_​location_​get
    • timezone_​name_​from_​abbr
    • timezone_​name_​get
    • timezone_​offset_​get
    • timezone_​open
    • timezone_​transitions_​get
    • timezone_​version_​get

    Источник

    date

    Возвращает строку, отформатированную в соответствии с указанным в параметре format шаблоном. Используется метка времени, заданная параметром timestamp (метка времени Unix), или текущее системное время, если параметр timestamp не задан. Таким образом, параметр timestamp является необязательным и по умолчанию равен значению, возвращаемому функцией time() .

    Метки времени Unix не обрабатывают часовые пояса. Используйте класс DateTimeImmutable и его метод форматирования DateTimeInterface::format() для форматирования информации о дате/времени с привязкой к часовому поясу.

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

    Замечание: Функция date() всегда будет генерировать 000000 в качестве микросекунд, поскольку она принимает параметр int , тогда как DateTime::format() поддерживает микросекунды, если DateTime был создан с микросекундами.

    Необязательный параметр timestamp представляет собой метку времени типа int , по умолчанию равную текущему локальному времени, если timestamp не указан или null . Другими словами, значение по умолчанию равно результату функции time() .

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

    Возвращает отформатированную строку с датой.

    Ошибки

    Каждый вызов к функциям даты/времени при неправильных настройках часового пояса сгенерирует ошибку уровня E_WARNING , если часовой пояс некорректный. Смотрите также date_default_timezone_set()

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

    Версия Описание
    8.0.0 timestamp теперь допускает значение null.

    Примеры

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

    // установка часового пояса по умолчанию.
    date_default_timezone_set ( ‘UTC’ );

    // выведет примерно следующее: Monday
    echo date ( «l» );

    // выведет примерно следующее: Monday 8th of August 2005 03:12:46 PM
    echo date ( ‘l jS \of F Y h:i:s A’ );

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

    /* пример использования константы в качестве форматирующего параметра */
    // выведет примерно следующее: Mon, 15 Aug 2005 15:12:46 UTC
    echo date ( DATE_RFC822 );

    // выведет примерно следующее: 2000-07-01T00:00:00+00:00
    echo date ( DATE_ATOM , mktime ( 0 , 0 , 0 , 7 , 1 , 2000 ));
    ?>

    Чтобы запретить распознавание символа как форматирующего, следует экранировать его с помощью обратного слеша. Если экранированный символ также является форматирующей последовательностью, то следует экранировать его повторно.

    Пример #2 Экранирование символов в функции date()

    Для вывода прошедших и будущих дат удобно использовать функции date() и mktime() .

    Пример #3 Пример совместного использования функций date() и mktime()

    $tomorrow = mktime ( 0 , 0 , 0 , date ( «m» ) , date ( «d» )+ 1 , date ( «Y» ));
    $lastmonth = mktime ( 0 , 0 , 0 , date ( «m» )- 1 , date ( «d» ), date ( «Y» ));
    $nextyear = mktime ( 0 , 0 , 0 , date ( «m» ), date ( «d» ), date ( «Y» )+ 1 );
    ?>

    Замечание:

    Данный способ более надёжен, чем простое вычитание и прибавление секунд к метке времени, поскольку позволяет при необходимости гибко осуществить переход на летнее/зимнее время.

    Ещё несколько примеров использования функции date() . Важно отметить, что следует экранировать все символы, которые необходимо оставить без изменений. Это справедливо и для тех символов, которые в текущей версии PHP не распознаются как форматирующие, поскольку это может быть введено в следующих версиях. Для экранировании управляющих последовательностей (например, \n) следует использовать одинарные кавычки.

    Пример #4 Форматирование с использованием date()

    // Предположим, что текущей датой является 10 марта 2001, 5:16:18 вечера,
    // и мы находимся в часовом поясе Mountain Standard Time (MST)

    $today = date ( «F j, Y, g:i a» ); // March 10, 2001, 5:16 pm
    $today = date ( «m.d.y» ); // 03.10.01
    $today = date ( «j, n, Y» ); // 10, 3, 2001
    $today = date ( «Ymd» ); // 20010310
    $today = date ( ‘h-i-s, j-m-y, it is w Day’ ); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
    $today = date ( ‘\i\t \i\s \t\h\e jS \d\a\y.’ ); // it is the 10th day.
    $today = date ( «D M j G:i:s T Y» ); // Sat Mar 10 17:16:18 MST 2001
    $today = date ( ‘H:m:s \m \i\s\ \m\o\n\t\h’ ); // 17:03:18 m is month
    $today = date ( «H:i:s» ); // 17:16:18
    $today = date ( «Y-m-d H:i:s» ); // 2001-03-10 17:16:18 (формат MySQL DATETIME)
    ?>

    Для форматирования дат на других языках вместо функции date() можно использовать метод IntlDateFormatter::format() .

    Примечания

    Замечание:

    Для получения метки времени из строкового представления даты можно воспользоваться функцией strtotime() . Кроме того, некоторые базы данных имеют собственные функции для преобразования внутреннего представления даты в метку времени (например, функция MySQL » UNIX_TIMESTAMP).

    Временную метку начала запроса можно получить из поля $_SERVER[‘REQUEST_TIME’] .

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

    • DateTimeImmutable::__construct() — Возвращает новый объект DateTimeImmutable
    • DateTimeInterface::format() — Возвращает дату, отформатированную согласно переданному формату
    • gmdate() — Форматирует дату/время по Гринвичу
    • idate() — Преобразует локальное время/дату в целое число
    • getdate() — Возвращает информацию о дате/времени
    • getlastmod() — Получает время последней модификации страницы
    • mktime() — Возвращает метку времени Unix для заданной даты
    • IntlDateFormatter::format() — Форматирует значение даты/времени в виде строки
    • time() — Возвращает текущую метку системного времени Unix
    • Предопределённые константы даты и времени

    User Contributed Notes

    • Функции даты и времени
      • checkdate
      • date_​add
      • date_​create_​from_​format
      • date_​create_​immutable_​from_​format
      • date_​create_​immutable
      • date_​create
      • date_​date_​set
      • date_​default_​timezone_​get
      • date_​default_​timezone_​set
      • date_​diff
      • date_​format
      • date_​get_​last_​errors
      • date_​interval_​create_​from_​date_​string
      • date_​interval_​format
      • date_​isodate_​set
      • date_​modify
      • date_​offset_​get
      • date_​parse_​from_​format
      • date_​parse
      • date_​sub
      • date_​sun_​info
      • date_​sunrise
      • date_​sunset
      • date_​time_​set
      • date_​timestamp_​get
      • date_​timestamp_​set
      • date_​timezone_​get
      • date_​timezone_​set
      • date
      • getdate
      • gettimeofday
      • gmdate
      • gmmktime
      • gmstrftime
      • idate
      • localtime
      • microtime
      • mktime
      • strftime
      • strptime
      • strtotime
      • time
      • timezone_​abbreviations_​list
      • timezone_​identifiers_​list
      • timezone_​location_​get
      • timezone_​name_​from_​abbr
      • timezone_​name_​get
      • timezone_​offset_​get
      • timezone_​open
      • timezone_​transitions_​get
      • timezone_​version_​get

      Источник

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