Intereting Posts
Являются ли «elseif» и «else if» полностью синонимичными? Как включить внешний html-файл на странице asp.net Ссылка. Как обрабатывать пространства имен (теги и атрибуты с двоеточием в) в SimpleXML? Как проверить, сколько раз продукт был куплен клиентом imagettftext (): рассчитать размер шрифта, чтобы текст соответствовал ширине изображения Использование magic_quotes () влияет на использование mysql_real_escape_string () Как я могу выполнить sql-скрипт с помощью CodeIgniter и передать ему данные? как оптимизировать mysql-запрос, если у меня слишком много операторов OR в моем запросе? Ошибка PDO: «SQLSTATE : общая ошибка« При обновлении базы данных Проверка SVG-файла в PHP с помощью XMLReader Переменная PHP Persist для всех запросов Необходимо добавить поиск в статический HTML-сайт Symfony2 Вставка ошибки "Warning: spl_object_hash () ожидает параметр …" php проверяет адрес электронной почты на основе имени домена Многомерная процедура сортировки массивов для файлов csv

Разница версий для strtotime («первый день прошлого месяца»)?

В скрипте, который содержит

date('Ym-d', strtotime('first day of last month')) 

в версии 5.3.10 (localhost) я получаю, например, «2012-03-01».

в версии 5.2.17 (удаленный хост) я получаю '1969-12-31'.

Есть ли выражение, которое вернет ожидаемые результаты (например, «2012-03-01») для обеих версий?

Вы должны использовать функцию mktime () :

 <?php echo date('Ym-d', mktime(0,0,0,date('n')-1,1,date('Y'))); //2012-03-01 ?> 

См. В действии

Это известная ошибка из PHP 5.2.17

 date('Ym-d', strtotime('first day of -1 month') 

Работает отлично на PHP 7.0