Перейти к содержимому

Как получить время php

  • автор:

getdate

Возвращает ассоциативный массив ( array ), содержащий информацию о дате, представленной меткой времени timestamp или текущим системным временем, если timestamp не был передан или null .

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

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

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

Возвращает ассоциативный массив ( array ) с информацией о параметре timestamp , который содержит следующие элементы:

Индексы возвращаемого ассоциативного массива

Индекс Описание Пример значения
«seconds» Числовое представление секунд от 0 до 59
«minutes» Числовое представление минут от 0 до 59
«hours» Числовое представление часов от 0 до 23
«mday» Порядковый номер дня месяца от 1 до 31
«wday» Порядковый номер дня недели от 0 (воскресенье) до 6 (суббота)
«mon» Порядковый номер месяца от 1 до 12
«year» Номер года, 4 цифры Примеры: 1999 , 2003
«yday» Порядковый номер дня в году от 0 до 365
«weekday» Полное наименование дня недели от Sunday до Saturday
«month» Полное наименование месяца, например, January или March от January до December
0 Количество секунд, прошедших с начала эпохи Unix (The Unix Epoch), подобно значению, возвращаемому функцией time() и используемому функцией date() . Зависит от платформы, в большинстве случаев от -2147483648 до 2147483647 .

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

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

Примеры

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

$today = getdate ();
print_r ( $today );
?>

Результатом выполнения данного примера будет что-то подобное:

Array ( [seconds] => 40 [minutes] => 58 [hours] => 21 [mday] => 17 [wday] => 2 [mon] => 6 [year] => 2003 [yday] => 167 [weekday] => Tuesday [month] => June [0] => 1055901520 )

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

  • date() — Форматирует временную метку Unix
  • idate() — Преобразует локальное время/дату в целое число
  • localtime() — Возвращает локальное время
  • time() — Возвращает текущую метку системного времени Unix
  • setlocale() — Устанавливает настройки локали

User Contributed Notes

There are no user contributed notes for this page.

  • Функции даты и времени
    • 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
    • Copyright © 2001-2023 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

    time

    Возвращает количество секунд, прошедших с начала эпохи Unix (1 января 1970 00:00:00 GMT) до текущего времени.

    Замечание:

    Метки времени Unix не содержат никакой информации относительно локального часового пояса. Рекомендуется использовать класс DateTimeImmutable для работы с информацией о дате и времени, чтобы избежать подводных камней, связанных с метками времени Unix.

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

    У этой функции нет параметров.

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

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

    Примеры

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

    echo ‘Сейчас: ‘ . time ();
    ?>

    Результатом выполнения данного примера будет что-то подобное:

    Сейчас: 1660338149

    Примечания

    Подсказка

    Время начала запроса доступно в глобальной переменной $_SERVER[‘REQUEST_TIME’] .

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

    • DateTimeImmutable
    • date() — Форматирует временную метку Unix
    • microtime() — Возвращает текущую метку времени Unix с микросекундами

    User Contributed Notes

    There are no user contributed notes for this page.

    • Функции даты и времени
      • 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
      • Copyright © 2001-2023 The PHP Group
      • My PHP.net
      • Contact
      • Other PHP.net sites
      • Privacy policy

      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()

      // выведет примерно следующее: Wednesday the 15th
      echo date ( ‘l \t\h\e jS’ );
      ?>

      Для вывода прошедших и будущих дат удобно использовать функции 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

      There are no user contributed notes for this page.

      • Функции даты и времени
        • 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
        • Copyright © 2001-2023 The PHP Group
        • My PHP.net
        • Contact
        • Other PHP.net sites
        • Privacy policy

        Дата и время в PHP

        Одна из самых востребованных функций, которая используется практически на каждом сайте — это функция даты date( . ). Функция дата нужна и на больших новостных сайтах, и на маленьких личных блогах. Но вывод даты в одном формате — это далеко не единственное предназначение этой функции.

        Функция даты в PHP

        Давайте попробуем поэкспериментировать с этой функцией и выведем даты в совершенно разных форматах. В том числе не текущие даты, а даты через несколько дней, часов или секунд.

        Приступим с примера:

        • d — номер дня в месяце. Если меньше 10, то с нулём: «09», «05»
        • m — номер месяца. Если меньше 10, то с нулём: «09», «05»
        • Y — год, 4 цифры.
        • y — год, две цифры.
        • n — номер месяца. Без первого нуля, если меньше 10
        • j — номер дня в месяце. Без первого нуля, если меньше 10
        • H — часы в 24-часовом формате. Если меньше 10, то с нулём: «09», «05»
        • s — секунды. Если меньше 10, то с нулём: «09», «05»
        • i — минуты. Если меньше 10, то с нулём: «09», «05»
        • z — номер дня от начала года.
        • w — день недели (0 — воскресенье, 1 — понедельник и т.д.).
        • h — часы в 12-часовом формате
        • L — 1, если високосный год, 0, если не високосный.
        • W — порядковый номер недели года.
        • U — количество секунд, прошедших с 1 января 1970 года (то есть timestamp).

        В результате выполнения такого кода мы узнаем дату и время в формате «ДД.ММ.ГГГГ ЧЧ:ММ:СС» через 3 дня. Или говоря в секундах, через 3600 * 24 * 3 секунд. Можно не только прибавлять, но и отнимать секунды, чтобы получить дату в прошлом. Такой способ вычисления даты является одним из самых простых, но для полноценного использования ещё нужная функция, которая переводит дату из любого формата в timestamp. Такая функция есть и называется strtotime( ). В качестве аргумента она принимает дату в любом формате. Но лучше использовать очевидные форматы типа «ДД.ММ.ГГГГ ЧЧ:ММ:СС». Тогда она правильно разберётся, что относится к году, а что ко дню. Попробуем её на практике:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *