public function test_number_of_days() { $dateFrom = '2011-01-01 00:00:00'; $dateTo = '2012-10-23 11:45:00'; //convert strings to date objects $dateFrom = new DateTime($dateFrom); $dateTo = new DateTime($dateTo); $this->assertEquals(661, number_of_days($dateFrom, $dateTo)); }
public function index_json() { $dateFrom = $this->input->post('dateFrom'); $dateTo = $this->input->post('dateTo'); // do we have valid dates? is_date($dateFrom); is_date($dateTo); // include timezone adjustment $dateFromTimeZone = $this->input->post('dateFromTimeZone'); $dateToTimeZone = $this->input->post('dateToTimeZone'); // convert strings to date objects including the time zone $dateFrom = new DateTime($dateFrom . ' ' . $dateFromTimeZone); $dateTo = new DateTime($dateTo . ' ' . $dateToTimeZone); // check if dateFrom is earlier than dateTo, if not then swap them over, we are caldulating // the difference so this should be fine. if ($dateFrom->getTimestamp() > $dateTo->getTimestamp()) { $tempDate2 = $dateFrom; $dateFrom = $dateTo; $dateTo = $tempDate2; } // build up an objct to return as json $numberOfDays = number_of_days($dateFrom, $dateTo); $numberOfDaysResults = new stdClass(); $numberOfDaysResults->days = $numberOfDays; $numberOfDaysResults->seconds = convert_time($numberOfDays, "days", "seconds"); $numberOfDaysResults->minutes = convert_time($numberOfDays, "days", "minutes"); $numberOfDaysResults->hours = convert_time($numberOfDays, "days", "hours"); $numberOfDaysResults->years = convert_time($numberOfDays, "days", "years"); $numberOfWeekDays = number_of_weekdays($dateFrom, $dateTo); $numberOfWeekDaysResults = new stdClass(); $numberOfWeekDaysResults->days = $numberOfWeekDays; $numberOfWeekDaysResults->seconds = convert_time($numberOfWeekDays, "days", "seconds"); $numberOfWeekDaysResults->minutes = convert_time($numberOfWeekDays, "days", "minutes"); $numberOfWeekDaysResults->hours = convert_time($numberOfWeekDays, "days", "hours"); $numberOfWeekDaysResults->years = convert_time($numberOfWeekDays, "days", "years"); $numberOfCompleteWeeks = number_of_complete_weeks($dateFrom, $dateTo); $numberOfCompleteWeeksResults = new stdClass(); $numberOfCompleteWeeksResults->weeks = $numberOfCompleteWeeks; $numberOfCompleteWeeksResults->seconds = convert_time($numberOfCompleteWeeks, "weeks", "seconds"); $numberOfCompleteWeeksResults->minutes = convert_time($numberOfCompleteWeeks, "weeks", "minutes"); $numberOfCompleteWeeksResults->hours = convert_time($numberOfCompleteWeeks, "weeks", "hours"); $numberOfCompleteWeeksResults->years = convert_time($numberOfCompleteWeeks, "weeks", "years"); $dateCalcResults = new stdClass(); $dateCalcResults->numberOfDays = $numberOfDaysResults; $dateCalcResults->numberOfWeekDays = $numberOfWeekDaysResults; $dateCalcResults->numberOfCompleteWeeks = $numberOfCompleteWeeksResults; // output as json $this->output->set_content_type('application/json')->set_output(json_encode($dateCalcResults)); }
/** * Human Resources' view of filed transpo requests. * * @param date $datefrom * @param date $dateto * @return mixed */ public function hr_view($datefrom = "", $dateto = "") { if (isset($datefrom) && !empty($datefrom)) { $datefrom .= ' 00:00:00'; } else { $datefrom = date('Y-m-d 00:00:00'); } if (isset($dateto) && !empty($dateto)) { $dateto .= ' 23:59:59'; } else { $dateto = date('Y-m-d 23:59:59'); } $transpoallowance = $this->_ci->transpoallowance->hr_approval($datefrom, $dateto); $params = array('header' => $this->_filedtranspo, 'class' => array('table table-striped table-bordered dt-table')); $this->_ci->load->library('MY_table', $params, 'transpo_listing'); if (isset($transpoallowance) && !empty($transpoallowance)) { for ($i = 0; $i < count($transpoallowance); $i++) { $tabledata[] = array($this->_modaltranspo($transpoallowance[$i]->ID, 'transpohrapproval/viewfiledtranspo'), convert_date($transpoallowance[$i]->Datefiled, "M d, Y h:i A"), convert_date($transpoallowance[$i]->Datefrom, "M d, Y"), convert_date($transpoallowance[$i]->Dateto, "M d, Y"), number_of_days($transpoallowance[$i]->Datefrom, $transpoallowance[$i]->Dateto), $this->_status[$transpoallowance[$i]->Status]); } if (isset($tabledata) && !empty($tabledata)) { return $this->_ci->transpo_listing->generate($tabledata); } else { return $this->_ci->transpo_listing->generate($this->_empty); } } else { return $this->_ci->transpo_listing->generate($this->_empty); } }