Skip to content

Instantly share code, notes, and snippets.

@glennkarlsen
Last active October 13, 2015 07:37
Show Gist options
  • Save glennkarlsen/e225cf66b205ce669a00 to your computer and use it in GitHub Desktop.
Save glennkarlsen/e225cf66b205ce669a00 to your computer and use it in GitHub Desktop.
get week numbers between dates
<?php
$min_date = '2015-12-01';
$max_date = '2017-01-03';
$firstWeek = date('W', strtotime($min_date));
$lastWeek = date('W', strtotime($max_date));
$startTime = strtotime($min_date);
$endTime = strtotime($max_date);
$weeks = array();
$diff = strtotime($max_date, 0) - strtotime($min_date, 0);
$sum = ceil($diff / 604800);
while ($startTime < $endTime) {
$diff_days = (($endTime - $startTime) / 86400);
$diff_weeks = $diff_days / 7;
$weeks[] = date('W', $startTime);
$startTime += strtotime('+1 week', 0);
if (count($weeks) == $sum && $diff_days != 0) {
$last_inserted_week = $weeks[count($weeks) - 1];
$max_date_week = date('W', strtotime($max_date));
if ($last_inserted_week != $max_date_week)
$weeks[] = $max_date_week;
}
}
$variable = $weeks; echo '<pre>'; print_r($variable); echo '</pre>';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment