13
Авг
2013

Квартал по дате

Надо написать вычисление квартала по дате.

Вычислил номер квартала:

$d1 = "2014-11-02";
$kv = intval((date('m', strtotime($d1)) + 2)/3)

Дальше задумался, как лучше вычислить границы квартала:

  1. Прогонять все это через функцию date(), вычисляя месяцы по номеру квартала
  2. Сложить строки: нк+год (нк=начало квартала), где нк будет браться из массива, что-то типо: array(1=>array("start" => "01.01", "end" => "31.03"), 2=>array("start" => "01.04", "end" => "30.06") ...)

или как лучше определить временные границы квартала?


На данный момент я сделал так:

    function getIntervalKv($d)
    {
        $cKv = array(
            1 => array("s" => "01.01.", "e" => "31.03."),
            2 => array("s" => "01.04.", "e" => "31.06."),
            3 => array("s" => "01.07.", "e" => "30.09."),
            4 => array("s" => "01.10.", "e" => "31.12."),
        );
        $kv = intval((date('m', strtotime($d)) + 2)/3);
        $y = date('y', strtotime($d));
        $sd = $cKv[$kv]['s'].$y;
        $ed = $cKv[$kv]['e'].$y;
        return array("sd" => $sd, "ed" => $ed);
    }
Источник: https://ru.stackoverflow.com/questions/244086/%D0%9A%D0%B2%D0%B0%D1%80%D1%82%D0%B0%D0%BB-%D0%BF%D0%BE-%D0%B4%D0%B0%D1%82%D0%B5
Share

Тебе может это понравится...