3v4l.org

run code in 300+ PHP versions simultaneously
<?php $datetimes = [ '2003-01-28 01:23:45', '2007-04-04', '0000-00-00 00:00:00', '0000-00-00', '', null ]; foreach ($datetimes as $datetime) { sscanf($datetime, '%s', $sscanf); var_export( [ 'substr' => substr($datetime, 0, 10), 'explode' => explode(' ', $datetime, 2)[0], 'sscanf' => $sscanf, 'preg_replace' => preg_replace('/ .+/', '', $datetime), 'format' => (new \DateTime($datetime))->format('Y-m-d'), 'date&strtotime' => date("Y-m-d", strtotime($datetime)), 'strtok' => strtok($datetime, ' '), 'strstr' => strstr($datetime . ' ', ' ', true), ] ); unset($sscanf); echo "\n---\n"; }
Output for 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.12
array ( 'substr' => '2003-01-28', 'explode' => '2003-01-28', 'sscanf' => '2003-01-28', 'preg_replace' => '2003-01-28', 'format' => '2003-01-28', 'date&strtotime' => '2003-01-28', 'strtok' => '2003-01-28', 'strstr' => '2003-01-28', ) --- array ( 'substr' => '2007-04-04', 'explode' => '2007-04-04', 'sscanf' => '2007-04-04', 'preg_replace' => '2007-04-04', 'format' => '2007-04-04', 'date&strtotime' => '2007-04-04', 'strtok' => '2007-04-04', 'strstr' => '2007-04-04', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) --- Deprecated: sscanf(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 13 Deprecated: substr(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 16 Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /in/XrNPi on line 17 Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /in/XrNPi on line 19 Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /in/XrNPi on line 20 Deprecated: strtotime(): Passing null to parameter #1 ($datetime) of type string is deprecated in /in/XrNPi on line 21 Deprecated: strtok(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 22 array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) ---
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 array ( 'substr' => '2003-01-28', 'explode' => '2003-01-28', 'sscanf' => '2003-01-28', 'preg_replace' => '2003-01-28', 'format' => '2003-01-28', 'date&strtotime' => '2003-01-28', 'strtok' => '2003-01-28', 'strstr' => '2003-01-28', ) --- array ( 'substr' => '2007-04-04', 'explode' => '2007-04-04', 'sscanf' => '2007-04-04', 'preg_replace' => '2007-04-04', 'format' => '2007-04-04', 'date&strtotime' => '2007-04-04', 'strtok' => '2007-04-04', 'strstr' => '2007-04-04', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) --- Deprecated: sscanf(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 13 Deprecated: substr(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 16 Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /in/XrNPi on line 17 Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /in/XrNPi on line 19 Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /in/XrNPi on line 20 Deprecated: strtotime(): Passing null to parameter #1 ($datetime) of type string is deprecated in /in/XrNPi on line 21 Deprecated: strtok(): Passing null to parameter #1 ($string) of type string is deprecated in /in/XrNPi on line 22 array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) ---
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30
array ( 'substr' => '2003-01-28', 'explode' => '2003-01-28', 'sscanf' => '2003-01-28', 'preg_replace' => '2003-01-28', 'format' => '2003-01-28', 'date&strtotime' => '2003-01-28', 'strtok' => '2003-01-28', 'strstr' => '2003-01-28', ) --- array ( 'substr' => '2007-04-04', 'explode' => '2007-04-04', 'sscanf' => '2007-04-04', 'preg_replace' => '2007-04-04', 'format' => '2007-04-04', 'date&strtotime' => '2007-04-04', 'strtok' => '2007-04-04', 'strstr' => '2007-04-04', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '0000-00-00', 'explode' => '0000-00-00', 'sscanf' => '0000-00-00', 'preg_replace' => '0000-00-00', 'format' => '-0001-11-30', 'date&strtotime' => '-0001-11-30', 'strtok' => '0000-00-00', 'strstr' => '0000-00-00', ) --- array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) --- array ( 'substr' => '', 'explode' => '', 'sscanf' => NULL, 'preg_replace' => '', 'format' => '2021-08-23', 'date&strtotime' => '1970-01-01', 'strtok' => false, 'strstr' => '', ) ---

preferences:
144.11 ms | 418 KiB | 5 Q