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));
 }
Example #2
0
 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));
 }
Example #3
0
 /**
  * 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);
     }
 }