3v4l.org

run code in 300+ PHP versions simultaneously
<?php $year=2021; $month=7; $day=5; $index=-1; $period='day'; // strtotime test $dateString = $year . "-" . $month . "-" . $day . " -" . $index . " " . $period; $timestamp1 = strtotime("{$year}-{$month}-{$day} -{$index} {$period}"); $dateString1 = date('Y-m-d', $timestamp1); // DateTime test $dateStamp = new \DateTime("{$year}-{$month}-{$day}"); $dateStamp->modify("-{$index} {$period}"); $timestamp2 = $dateStamp->getTimeStamp(); $dateString2 = date('Y-m-d', $timestamp2); echo $dateString . PHP_EOL; echo "strtotime: " . $timestamp1 . "(" . $dateString1 . ")" . PHP_EOL; echo "DateTime: " . $timestamp2 . "(" . $dateString1 . ")";
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.25 - 8.2.29, 8.3.13 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0 - 8.5.1
2021-7-5 --1 day strtotime: 1625522400(2021-07-06) DateTime: 1625522400(2021-07-06)
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
Output for 8.2.0 - 8.2.24, 8.3.0 - 8.3.12
2021-7-5 --1 day strtotime: 1625349600(2021-07-04) DateTime: 1625349600(2021-07-04)

preferences:
114.38 ms | 409 KiB | 5 Q