3v4l.org

run code in 300+ PHP versions simultaneously
<?php const WEEK_YEAR_FORMAT = 'o-W'; function subtract_weeks_from_iso_week( string $start, int $weeks ): string { // Inputs are guaranteed (per usage) to be in 'o-W' => 'YYYY-WW' format. [ $start_year, $start_week ] = array_map( 'intval', explode( '-', $start ) ); $start_date = ( new DateTimeImmutable() )->setISODate( $start_year, $start_week ); $result_date = $start_date->modify( '-' . $weeks . ' weeks' ); return $result_date->format( WEEK_YEAR_FORMAT ); } echo subtract_weeks_from_iso_week("2026yfgthj", 4);
Output for 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Warning: Undefined array key 1 in /in/HOP6i on line 6 Deprecated: DateTimeImmutable::setISODate(): Passing null to parameter #2 ($week) of type int is deprecated in /in/HOP6i on line 7 2025-48

preferences:
51.99 ms | 406 KiB | 5 Q