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