3v4l.org

run code in 300+ PHP versions simultaneously
<?php $new_start_date = new DateTime( "2026-03-18" ); switch( $new_start_date->format('N') ) { # Monday case 1: $new_end_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_end_date = $new_end_date->modify("next Tuesday"); $new_end_date = $new_end_date->setTime( 23 , 59 , 59 ); $new_next_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_next_date = $new_next_date->modify("next Wednesday"); $new_next_date = $new_next_date->setTime( 0 , 0 , 0 ); break; # Wednesday case 3: $new_end_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_end_date = $new_end_date->modify("next Thursday"); $new_end_date = $new_end_date->setTime( 23 , 59 , 59 ); $new_next_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_next_date = $new_next_date->modify("next Friday"); $new_next_date = $new_next_date->setTime( 0 , 0 , 0 ); break; # Friday case 5: $new_end_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_end_date = $new_end_date->modify("next Sunday"); $new_end_date = $new_end_date->setTime( 23 , 59 , 59 ); $new_next_date = new DateTimeImmutable( $new_start_date->format('Y-m-d') ); $new_next_date = $new_next_date->modify("next Monday"); $new_next_date = $new_next_date->setTime( 0 , 0 , 0 ); break; } print_r( $new_start_date ); print_r( $new_end_date ); print_r( $new_next_date );

preferences:
53.1 ms | 723 KiB | 5 Q