Skip to content

Instantly share code, notes, and snippets.

@marcelovsantos
Last active December 16, 2015 12:17
Show Gist options
  • Save marcelovsantos/6052f81ef45043e3b031 to your computer and use it in GitHub Desktop.
Save marcelovsantos/6052f81ef45043e3b031 to your computer and use it in GitHub Desktop.
Increment year and semester mathematically
<?php
/**
* Increment year and semester mathematically
*
* @param int $year
* @param int $semester
* @param int $increment
* @return string
*/
function increment_year_semester($year, $semester, $increment = 1)
{
$semester = $semester;
$year = floor($year + ($semester + $increment) * 0.5 - 0.5);
$semester = abs(($semester + $increment - 1) % 2) + 1;
return "{$year}/{$semester}";
}
for ($i = -5; $i < 5; $i++)
{
echo "<pre> {$i}: " . print_r(increment_year_semester(2015, 2, $i), TRUE) . '</pre>';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment