<?php
$date = new DateTime('now');
$firstOfMonth = $date->modify('1st of current month')->format(DATE_ISO8601);
$lastOfMonth = $date->modify('end of month')->format(DATE_ISO8601);
var_dump(array($firstOfMonth, $lastOfMonth));
Fatal error: Uncaught DateMalformedStringException: DateTime::modify(): Failed to parse time string (1st of current month) at position 0 (1): Unexpected character in /in/nT4lu:5
Stack trace:
#0 /in/nT4lu(5): DateTime->modify('1st of current ...')
#1 {main}
thrown in /in/nT4lu on line 5
Process exited with code 255.
Warning: DateTime::modify(): Failed to parse time string (1st of current month) at position 0 (1): Unexpected character in /in/nT4lu on line 5
Fatal error: Uncaught Error: Call to a member function format() on bool in /in/nT4lu:5
Stack trace:
#0 {main}
thrown in /in/nT4lu on line 5
Process exited with code 255.
Warning: DateTime::modify(): Failed to parse time string (1st of current month) at position 0 (1): Unexpected character in /in/nT4lu on line 5
Fatal error: Uncaught Error: Call to a member function format() on boolean in /in/nT4lu:5
Stack trace:
#0 {main}
thrown in /in/nT4lu on line 5
Process exited with code 255.
Output for 5.6.0 - 5.6.38
Warning: DateTime::modify(): Failed to parse time string (1st of current month) at position 0 (1): Unexpected character in /in/nT4lu on line 5
Fatal error: Call to a member function format() on boolean in /in/nT4lu on line 5
Process exited with code 255.
Warning: DateTime::modify(): Failed to parse time string (1st of current month) at position 0 (1): Unexpected character in /in/nT4lu on line 5
Fatal error: Call to a member function format() on a non-object in /in/nT4lu on line 5
Process exited with code 255.