iaPlan::calculateDates PHP Method

calculateDates() public method

public calculateDates ( $duration, $unit )
    public function calculateDates($duration, $unit)
    {
        switch ($unit) {
            case self::UNIT_HOUR:
            case self::UNIT_DAY:
            case self::UNIT_WEEK:
                // use pre-calculated data
                $unitDurationInSeconds = array(self::UNIT_HOUR => 3600, self::UNIT_DAY => 86400, self::UNIT_WEEK => 604800);
                $base = $unitDurationInSeconds[$unit];
                break;
            case self::UNIT_MONTH:
                $days = date('t');
                $base = self::SECONDS_PER_DAY * $days;
                break;
            case self::UNIT_YEAR:
                $date = getdate();
                $days = date('z', mktime(0, 0, 0, 12, 31, $date['year'])) + 1;
                $base = self::SECONDS_PER_DAY * $days;
        }
        $dateStarted = time();
        $dateFinished = $dateStarted + $base * $duration;
        return array(date(iaDb::DATETIME_FORMAT, $dateStarted), date(iaDb::DATETIME_FORMAT, $dateFinished));
    }