English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по PHP для начинающих

Учебник по PHP для продвинутых

PHP и MySQL

Руководство по PHP

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

Руководство по функциям даты и времени 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

Эта функция была最初 введена в 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