Example #1
0
function detectFormatDate($date_a_convertir, $compl = "01")
{
    global $msg;
    if (preg_match("#\\d{4}-\\d{2}-\\d{2}#", $date_a_convertir)) {
        $date = $date_a_convertir;
    } else {
        if (preg_match(getDatePattern(), $date_a_convertir)) {
            $date = extraitdate($date_a_convertir);
        } elseif (preg_match(getDatePattern("short"), $date_a_convertir)) {
            $format = str_replace("%", "", $msg["format_date_short"]);
            $format = str_replace("-", "", $format);
            $format = str_replace("/", "", $format);
            $format = str_replace("\\", "", $format);
            $format = str_replace(".", "", $format);
            $format = str_replace(" ", "", $format);
            $format = str_replace($msg["format_date_input_separator"], "", $format);
            list($date[substr($format, 0, 1)], $date[substr($format, 1, 1)], $date[substr($format, 2, 1)]) = sscanf($date_a_convertir, $msg["format_date_short_input"]);
            if ($date['Y'] && $date['m']) {
                $date = sprintf("%04d-%02s-%02s", $date['Y'], $date['m'], $compl);
            } else {
                $date = "0000-00-00";
            }
        } elseif (preg_match(getDatePattern("year"), $date_a_convertir, $matches)) {
            $date = $matches[0] . "-" . $compl . "-" . $compl;
        } else {
            $date = "0000-00-00";
        }
    }
    return $date;
}
Example #2
0
function aff_format_date($param)
{
    //si c'est pas une date potable, on arrete là...
    if (!preg_match(getDatePattern(), $param[1]) && !preg_match(getDatePattern("short"), $param[1]) && !preg_match(getDatePattern("year"), $param[1])) {
        return $param[1];
    }
    $date = detectFormatDate($param[1]);
    $year = substr($date, 0, 4);
    $month = substr($date, 5, 2);
    $day = substr($date, 8, 2);
    return date($param[0], mktime(0, 0, 0, $month, $day, $year));
}
Example #3
0
function detectFormatDate($date_a_convertir, $compl = "01")
{
    global $msg;
    if (preg_match("#\\d{4}-\\d{2}-\\d{2}#", $date_a_convertir)) {
        $date = $date_a_convertir;
    } else {
        if (preg_match(getDatePattern(), $date_a_convertir)) {
            $date = extraitdate($date_a_convertir);
        } elseif (preg_match(getDatePattern("short"), $date_a_convertir)) {
            $format = str_replace("%", "", $msg["format_date_short"]);
            $format = str_replace("-", "", $format);
            $format = str_replace("/", "", $format);
            $format = str_replace("\\", "", $format);
            $format = str_replace(".", "", $format);
            $format = str_replace(" ", "", $format);
            $format = str_replace($msg["format_date_input_separator"], "", $format);
            list($date[substr($format, 0, 1)], $date[substr($format, 1, 1)], $date[substr($format, 2, 1)]) = sscanf($date_a_convertir, $msg["format_date_short_input"]);
            if ($date['Y'] && $date['m']) {
                if ($compl == "min") {
                    $date = sprintf("%04d-%02d-%02s", $date['Y'], $date['m'], "01");
                } elseif ($compl == "max") {
                    $date = sprintf("%04d-%02d-%02s", $date['Y'], $date['m'], date("t", mktime(0, 0, 0, $date['m'], 1, $date['Y'])));
                } else {
                    $date = sprintf("%04d-%02d-%02s", $date['Y'], $date['m'], $compl);
                }
            } else {
                $date = "0000-00-00";
            }
        } elseif (preg_match(getDatePattern("year"), $date_a_convertir, $matches)) {
            if ($compl == "min") {
                $date = $matches[0] . "-01-01";
            } elseif ($compl == "max") {
                $date = $matches[0] . "-12-31";
            } else {
                $date = $matches[0] . "-" . $compl . "-" . $compl;
            }
        } else {
            $format = str_replace("%", ".", $msg["format_date"]);
            $format = str_replace("-", "", $format);
            $format = str_replace("/", "", $format);
            $format = str_replace("\\", "", $format);
            $format = str_replace(".", "", $format);
            $format = str_replace(" ", "", $format);
            $pattern = array();
            for ($i = 0; $i < strlen($format); $i++) {
                switch ($format[$i]) {
                    case "m":
                    case "d":
                        $pattern[$i] = '\\d{1,2}';
                        break;
                    case "Y":
                        $pattern[$i] = '(\\d{2})';
                        break;
                }
            }
            if (preg_match("#" . implode($pattern, ".") . "#", $date_a_convertir, $matches)) {
                if (substr(date("Y"), 2, 2) < $matches['1']) {
                    $correct_year = substr(date("Y"), 0, 2) * 1 - 1 . $matches[1];
                } else {
                    $correct_year = substr(date("Y"), 0, 2) . $matches[1];
                }
                if (substr($format, -1) == "Y") {
                    $date = detectFormatDate(substr($date_a_convertir, 0, -2) . $correct_year, $compl);
                }
            } else {
                $date = "0000-00-00";
            }
        }
    }
    return $date;
}