@ 2013-11-21T15:43:12Z <?php
$start_date = '2007-03-24';
$end_date = '2009-06-26';
print_r(year_month($start_date, $end_date));
//Returns an array containing the years, months and days between two dates
function year_month($start_date, $end_date)
{
$begin = new DateTime( $start_date );
$end = new DateTime( $end_date);
$end->add(new DateInterval('P1D')); //Add 1 day to include the end date as a day
$interval = new DateInterval('P1W'); //Add 1 week
$period = new DatePeriod($begin, $interval, $end);
$aResult = array();
foreach ( $period as $dt )
{
$aResult[$dt->format('Y')][$dt->format('F')][] = "Week ".$dt->format('W');
}
return $aResult;
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 5.3.0 - 5.3.29 , 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Array
(
[2007] => Array
(
[March] => Array
(
[0] => Week 12
[1] => Week 13
)
[April] => Array
(
[0] => Week 14
[1] => Week 15
[2] => Week 16
[3] => Week 17
)
[May] => Array
(
[0] => Week 18
[1] => Week 19
[2] => Week 20
[3] => Week 21
)
[June] => Array
(
[0] => Week 22
[1] => Week 23
[2] => Week 24
[3] => Week 25
[4] => Week 26
)
[July] => Array
(
[0] => Week 27
[1] => Week 28
[2] => Week 29
[3] => Week 30
)
[August] => Array
(
[0] => Week 31
[1] => Week 32
[2] => Week 33
[3] => Week 34
)
[September] => Array
(
[0] => Week 35
[1] => Week 36
[2] => Week 37
[3] => Week 38
[4] => Week 39
)
[October] => Array
(
[0] => Week 40
[1] => Week 41
[2] => Week 42
[3] => Week 43
)
[November] => Array
(
[0] => Week 44
[1] => Week 45
[2] => Week 46
[3] => Week 47
)
[December] => Array
(
[0] => Week 48
[1] => Week 49
[2] => Week 50
[3] => Week 51
[4] => Week 52
)
)
[2008] => Array
(
[January] => Array
(
[0] => Week 01
[1] => Week 02
[2] => Week 03
[3] => Week 04
)
[February] => Array
(
[0] => Week 05
[1] => Week 06
[2] => Week 07
[3] => Week 08
)
[March] => Array
(
[0] => Week 09
[1] => Week 10
[2] => Week 11
[3] => Week 12
[4] => Week 13
)
[April] => Array
(
[0] => Week 14
[1] => Week 15
[2] => Week 16
[3] => Week 17
)
[May] => Array
(
[0] => Week 18
[1] => Week 19
[2] => Week 20
[3] => Week 21
[4] => Week 22
)
[June] => Array
(
[0] => Week 23
[1] => Week 24
[2] => Week 25
[3] => Week 26
)
[July] => Array
(
[0] => Week 27
[1] => Week 28
[2] => Week 29
[3] => Week 30
)
[August] => Array
(
[0] => Week 31
[1] => Week 32
[2] => Week 33
[3] => Week 34
[4] => Week 35
)
[September] => Array
(
[0] => Week 36
[1] => Week 37
[2] => Week 38
[3] => Week 39
)
[October] => Array
(
[0] => Week 40
[1] => Week 41
[2] => Week 42
[3] => Week 43
)
[November] => Array
(
[0] => Week 44
[1] => Week 45
[2] => Week 46
[3] => Week 47
[4] => Week 48
)
[December] => Array
(
[0] => Week 49
[1] => Week 50
[2] => Week 51
[3] => Week 52
)
)
[2009] => Array
(
[January] => Array
(
[0] => Week 01
[1] => Week 02
[2] => Week 03
[3] => Week 04
[4] => Week 05
)
[February] => Array
(
[0] => Week 06
[1] => Week 07
[2] => Week 08
[3] => Week 09
)
[March] => Array
(
[0] => Week 10
[1] => Week 11
[2] => Week 12
[3] => Week 13
)
[April] => Array
(
[0] => Week 14
[1] => Week 15
[2] => Week 16
[3] => Week 17
)
[May] => Array
(
[0] => Week 18
[1] => Week 19
[2] => Week 20
[3] => Week 21
[4] => Week 22
)
[June] => Array
(
[0] => Week 23
[1] => Week 24
[2] => Week 25
)
)
)
Output for 5.2.0 - 5.2.17 Fatal error: Call to undefined method DateTime::add() in /in/tGOqs on line 13
Process exited with code 255 . Output for 5.0.0 - 5.0.5 , 5.1.0 - 5.1.6 Fatal error: Class 'DateTime' not found in /in/tGOqs on line 11
Process exited with code 255 . Output for 4.3.2 - 4.3.11 , 4.4.0 - 4.4.9 Fatal error: Cannot instantiate non-existent class: datetime in /in/tGOqs on line 11
Process exited with code 255 . Output for 4.3.0 - 4.3.1 Fatal error: Cannot instantiate non-existent class: datetime in /in/tGOqs on line 11
preferences:dark mode live preview
366.43 ms | 401 KiB | 460 Q