<?php
function trimester_day($time = null) {
$time = $time ? intval($time) : time();
$date = intval(date("j", $time));
$month = intval(date("n", $time));
$year = intval(date("Y", $time));
// get the selected quarter as number between 1 and 4
$quarter = ceil($month/3);
// get the first month of current quarter in n format
$fmonth = $quarter + (($quarter - 1) * 2);
// map days in a year by month
$map = [31,28,31,30,31,30,31,31,30,31,30,31];
// check if is leap year
if (((($year % 4) == 0) && ((($year % 100) != 0) || (($year % 400) == 0)))) {
$map[1] = 29;
}
// get total number of days in selected quarter, by summing the relative portion of $map array
$total = array_sum(array_slice($map, ($fmonth - 1), 3));
// get number of days passed in selected quarter, by summming the relative portion of $map array
$map[$month-1] = $date;
$day = array_sum(array_slice($map, ($fmonth - 1), ($month - $fmonth + 1)));
// return
return "Day number " . $day . " on " . $total . " of quarter " . $quarter . ", $year.";
}
$time = strtotime("2017-01-01"); // return Day number 1 on 90 of quarter 1, 2017.
$time = strtotime("2017-04-01"); // return Day number 1 on 91 of quarter 2, 2017.
$time = strtotime("2017-08-15"); // return Day number 46 on 92 of quarter 3, 2017.
$time = strtotime("2017-12-31"); // return Day number 92 on 92 of quarter 4, 2017.
echo trimester_day($time) . "\n";
Wie definieren Sie "Viertel"? –
Eine Gruppe von drei Monaten. –
Pseudocode: Tag_des_Quarters (y, m, d) = Tag_des_Jahres (y, m, d) - Tag_des_Jahrs (y, 3 * ((m-1)% 3) + 1, 1) + 1 – balpha