Php часовой пояс времени

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

    Источник

    date_default_timezone_set

    date_default_timezone_set() устанавливает часовой пояс по умолчанию для всех функций даты/времени в скрипте.

    Вместо использования этой функции, вы можете воспользоваться INI-настройкой date.timezone для установки часового пояса по умолчанию.

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

    Идентификатор часового пояса, например, UTC , Africa/Lagos , Asia/Hong_Kong или Europe/Lisbon . Список допустимых идентификаторов часовых поясов можно найти в разделе Список поддерживаемых часовых поясов.

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

    Функция возвращает false , если timezoneId имеет неверное значение, в остальных случаях true .

    Примеры

    Пример #1 Получение часового пояса по умолчанию

    if ( strcmp ( $script_tz , ini_get ( ‘date.timezone’ ))) echo ‘Часовой пояс скрипта отличается от заданного в INI-файле.’ ;
    > else echo ‘Часовой пояс скрипта и настройки INI-файла совпадают.’ ;
    >
    ?>

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

    • date_default_timezone_get() — Возвращает часовой пояс, используемый по умолчанию всеми функциями даты/времени в скрипте
    • Список поддерживаемых часовых поясов

    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_timezone_set

      The procedural version takes the DateTime object as its first argument.

      Parameters

      Procedural style only: A DateTime object returned by date_create() . The function modifies this object.

      A DateTimeZone object representing the desired time zone.

      Return Values

      Returns the DateTime object for method chaining. The underlaying point-in-time is not changed when calling this method.

      Examples

      Example #1 DateTime::setTimeZone() example

      $date = new DateTime ( ‘2000-01-01’ , new DateTimeZone ( ‘Pacific/Nauru’ ));
      echo $date -> format ( ‘Y-m-d H:i:sP’ ) . «\n» ;

      $date -> setTimezone (new DateTimeZone ( ‘Pacific/Chatham’ ));
      echo $date -> format ( ‘Y-m-d H:i:sP’ ) . «\n» ;
      ?>

      $date = date_create ( ‘2000-01-01’ , timezone_open ( ‘Pacific/Nauru’ ));
      echo date_format ( $date , ‘Y-m-d H:i:sP’ ) . «\n» ;

      date_timezone_set ( $date , timezone_open ( ‘Pacific/Chatham’ ));
      echo date_format ( $date , ‘Y-m-d H:i:sP’ ) . «\n» ;
      ?>

      The above examples will output:

      2000-01-01 00:00:00+12:00 2000-01-01 01:45:00+13:45

      See Also

      • DateTimeImmutable::setTimezone() — Sets the time zone
      • DateTime::getTimezone() — Return time zone relative to given DateTime
      • DateTimeZone::__construct() — Creates new DateTimeZone object

      User Contributed Notes

      Источник

      Php часовой пояс времени

      Поведение этих функций зависит от установок в php.ini .

      Настройки конфигурации даты/времени

      Имя По умолчанию Место изменения Список изменений
      date.default_latitude «31.7667» PHP_INI_ALL
      date.default_longitude «35.2333» PHP_INI_ALL
      date.sunrise_zenith «90.833333» PHP_INI_ALL До PHP 8.0.0 значение по умолчанию было «90.583333».
      date.sunset_zenith «90.833333» PHP_INI_ALL До PHP 8.0.0 значение по умолчанию было «90.583333».
      date.timezone «UTC» PHP_INI_ALL

      Для подробного описания констант PHP_INI_*, обратитесь к разделу Где могут быть установлены параметры конфигурации.

      Краткое разъяснение конфигурационных директив.

      Широта по умолчанию. в диапазоне от 0 на экваторе до +90 к северу и -90 к югу.

      Долгота по умолчанию. в диапазоне от 0 на нулевом меридиане до +180 на восток и -180 на запад.

      Угол, под которым солнце светит во время восхода.

      Значение по умолчанию составляет 90°50′. Дополнительные 50′ обусловлены двумя компонентами: радиусом Солнца, который составляет 16′ и атмосферной рефракцией, которая составляет 34′.

      Угол, под которым солнце светит во время заката.

      Часовой пояс, используемый по умолчанию всеми функциями даты/времени. Порядок приоритета используемых часовых поясов описан на странице date_default_timezone_get() . Смотрите также Список поддерживаемых часовых поясов.

      Замечание: Первые четыре опции настройки в настоящее время используются только в функциях date_sunrise() и date_sunset() .

      User Contributed Notes

      Источник

    Читайте также:  An example HTMLDocument
Оцените статью