English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Руководство по функциям даты и времени PHP
Функция strtotime() преобразует любое строковое описание даты и времени в Unix временной戳.
strtotime()Функция принимает строку даты/времени с текстовым значением даты/времени и преобразует её в Unix временной戳.
Обратите внимание: если год представлен в двухзначном формате, значения 0-69 соответствуют интервалу 2000-2069, а значения 70-100 - 1970-2000.
Обратите внимание: для форматов даты m/d/y или d-m-y, если разделитель - косая черта (/), то используется формат m/d/y Америки. Если разделитель - дефис (-) или точка (.), то используется формат d-m-y Европы. Чтобы избежать потенциальных ошибок, рекомендуется использовать формат YYYY-MM-DD или использовать функцию date_create_from_format().
strtotime($time)
Номер | Параметры и описание |
---|---|
1 | time (обязательное) Этот параметр представляет собой строку даты/времени. |
2 | now (дополнительное) Это означает временной戳, который используется в качестве базы для расчета относительных дат. |
Функция strtotime() PHP возвращает значение времени戳 для заданной строки даты. Если функция не успешна, она возвращает логическое значениеfalse.
Эта функция была最初 введена в PHP 4.0 и может быть использована во всех более поздних версиях.
PHP 5.3.0: Теперь относительные форматы времени, такие как "эта неделя", "предыдущая неделя", "上周", "следующая неделя", определяют неделю с понедельника по воскресенье, а не в зависимости от текущей даты/времени.
PHP 5.3.0: Теперь 24:00 является эффективным форматом.
PHP 5.2.7: В более ранних версиях, если запрашивается дата в определенном месяце, и это дата正好 первого дня месяца, то ошибочно добавляется неделя к возвращаемому времени戳у, что теперь исправлено.
PHP 5.1.0: В случае неудачи возвращается FALSE (в более ранних версиях возвращается -1), и добавлены ошибки времени зоны E_STRICT и E_NOTICE.
PHP 5.0.2: Теперь правильный расчет "now" и других относительных времени основан на текущем времени, а не на полуночи дня.
PHP 5.0.0: Разрешены микросекунды (но обычно они игнорируются).
Следующие примеры показывают }}strtotime()Использование функции-
<?php $str = strtotime("12 September 2009"); print("Timestamp: ".$str); ?>Проверка‹/›
Результат вывода
Timestamp: 1252713600
Если передается“now”В качестве параметра, эта функция возвращает текущий временной штамп
<?php $str = strtotime("now"); print("Timestamp: ".$str); ?>Проверка‹/›
Результат вывода
Timestamp: 1589369948
Теперь, давайте вызовем этот метод, передавая различные значения дат-
<?php // Установка часового пояса date_default_timezone_set("PRC"); $time = strtotime("2020-01-18 08:08:08"); // Преобразование заданной даты в временной штамп // Печать текущего времени PHP_EOL переход к новому ряду, совместимый с различными системами echo $time, PHP_EOL; // Более сложные примеры echo strtotime("now"), PHP_EOL; echo strtotime("now"), PHP_EOL; echo strtotime("10 September 2019"), PHP_EOL; echo strtotime("+1 day"), PHP_EOL; echo strtotime("+1 week"), PHP_EOL; echo strtotime("+1 week 2 days 4 hours 2 seconds"), PHP_EOL; echo strtotime("next Thursday"), PHP_EOL; echo strtotime("last Monday"), PHP_EOL; ?>Проверка‹/›
Это будет производить следующий вывод-
1579306088 1596165501 1596165501 1568044800 1596251901 1596770301 1596957503 1596643200 1595779200
Форматирование в YYYY-MM-DD и вывод даты
<?php $timestamp = strtotime( "February 15, 2015" ); print date( 'Y-m-d', $timestamp ); ?>Проверка‹/›
Это будет производить следующий вывод-
2015-02-15