function to_db_time($string, $mer = '') { global $timeMeridiem; $hours = getHours($string); $minutes = getMinutes($string); if (!empty($mer)) { $meridiem = $mer; } else { $meridiem = getMeridiem($string); } if (!empty($meridiem)) { $hours = $hours % 12; } if ($meridiem == $timeMeridiem[1]) { $hours += 12; } if ($hours > 24) { $hours = $hours % 24; } if ($hours < 10 && strlen($hours) == 1) { $hours = '0' . $hours; } return $hours . ':' . $minutes; }
/** * formatDate * * Formats a date with translation. * * @param string $dateFormat * @param date $date * * @return string */ function formatDate($dateFormat, $date) { // Get translatable parts of the date $m = date('n', strtotime($date)); # month 1-12 $d = date('w', strtotime($date)); # weekday 0-6 $a = date('a', strtotime($date)); # meridiem am or pm $A = date('A', strtotime($date)); # merideim AM or PM // Get translated forms $month = getMonthName($m); $month_abbr = getMonthAbbr($m); $day = getDayName($d); $day_abbr = getDayAbbr($d); $l_meridiem = getMeridiem($a); $u_meridiem = getMeridiem($A); // Replace translatable parts of date with the translated versions $dateFormat = preg_replace("/(?<!\\\\)F/", addBackSlashes($month), $dateFormat); # full month $dateFormat = preg_replace("/(?<!\\\\)l/", addBackSlashes($day), $dateFormat); # full weekday $dateFormat = preg_replace("/(?<!\\\\)M/", addBackSlashes($month_abbr), $dateFormat); # 3 letter month $dateFormat = preg_replace("/(?<!\\\\)D/", addBackSlashes($day_abbr), $dateFormat); # 3 letter weekday $dateFormat = preg_replace("/(?<!\\\\)a/", addBackSlashes($l_meridiem), $dateFormat); # lowercase merideim $dateFormat = preg_replace("/(?<!\\\\)A/", addBackSlashes($u_meridiem), $dateFormat); # uppercase merideim // Format date with translated data $fixedDate = date($dateFormat, strtotime($date)); return $fixedDate; }