strtotime
  (PHP 4, PHP 5, PHP 7, PHP 8)
strtotime — Преобразовывает текстовое представление даты на английском языке в метку времени Unix
  
 
  Описание
  
  
   Первым параметром функция ожидает строку с датой на английском языке, которая
   будет преобразована в метку времени Unix (количество секунд, прошедших с 1 января 1970
   года 00:00:00 UTC) относительно метки времени, переданной
   в параметр baseTimestamp, или текущего времени, если аргумент
   baseTimestamp опущен.
   Разбор строки даты определён в разделе «Форматы даты и времени»
   и содержит несколько тонких вопросов. Знание форматов упростит работу с функцией.
  
  Внимание
   
    Метка времени Unix, которую возвращает функция, не содержит данных
    о часовых поясах. Для расчётов с датой/временем
    обращаются к инструменту с бо́льшими способностями — классу DateTimeImmutable.
   
   
  
   Каждый параметр функции будет использовать часовой пояс по умолчанию,
   если он не указан в нём. Соблюдают осторожность и не указывают разные
   метки времени в параметрах, если только так не было задумано.
   О способах установки часового пояса по умолчанию рассказано в описании функции
   date_default_timezone_get().
  
  
 
  Список параметров
  
   
    
     - datetime
- 
      Строка даты и времени. Объяснение корректных форматов даёт раздел «Форматы даты и времени». 
- baseTimestamp
- 
      
       Метка времени, которую функция будет использовать как основу для вычисления
       относительных дат.
       
 
 
  Возвращаемые значения
  
   Возвращает метку времени в случае успешного выполнения, иначе false.
  
  
 
  Ошибки
  
Каждый вызов функции для работы с датой и временем генерирует ошибку уровня E_WARNING
при неправильных настройках часового пояса. Смотрите также описание функции
date_default_timezone_set().
  
 
 
  Примеры
  
   
    Пример #1 Пример использования функции strtotime()
    
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
     
    
  
  
   
    Пример #2 Проверка ошибок
    
<?php
$str = 'Not Good';
if (($timestamp = strtotime($str)) === false) {
    echo "Строка ($str) недопустима";
} else {
    echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
     
    
  
  
 
  Примечания
  Замечание: 
   
    «Относительная» дата в данном случае также означает,
    что если конкретный компонент метки даты/времени не указан,
    он будет взят дословно из параметра baseTimestamp.
    То есть, вызов strtotime('February'), если его запустить 31 мая 2022 года,
    будет интерпретирован как 31 февраля 2022,
    что перенесётся в метку времени 3 марта
    (в високосный год будет 2 марта).
    Вызов strtotime('1 February') или strtotime('first day of February')
    не допустит этой проблемы.
   
  
  Замечание: 
   
    Если количество лет указано двумя цифрами, то значения 00-69 будут считаться 2000-2069,
    а 70-99 — 1970-1999. Замечания ниже рассказывают о возможных различиях на 32-битных
    системах (допустимые даты заканчиваются 2038-01-19 03:14:07).
   
  
  Замечание: 
   
    Корректный диапазон меток времени — это обычно даты с 13 декабря
    1901 20:45:54 UTC по 19 января 2038 03:14:07 UTC. (Эти даты
    соответствуют крайним значениям 32-битного целого числа со знаком.)
   
   
    В 64-битных версиях PHP корректный диапазон меток времени практически бесконечен,
    так как 64 битов хватит для представления около 293 миллиардов лет в обоих
    направлениях.
   
  
  Замечание: 
   
    Использовать эту функцию для математических операций не рекомендовано.
    Лучше пользоваться методами DateTime::add()
    и DateTime::sub().