function qtranxf_convert_strftime2date($format)
{
    if (strpos($format, '%') === false) {
        return $format;
    }
    $mappings = qtranxf_date_strftime_mapping();
    $d = array();
    $s = array();
    foreach ($mappings as $df => $sf) {
        $d[] = $df;
        $s[] = $sf;
    }
    $d[] = '%%';
    $s[] = '%';
    $format = str_replace('%x', 'm/d/y', $format);
    //for 'zh'
    $format = str_replace($s, $d, $format);
    return $format;
}
function qtranxf_convertDateFormatToStrftimeFormat($format)
{
    $mappings = qtranxf_date_strftime_mapping();
    $date_parameters = array();
    $strftime_parameters = array();
    $date_parameters[] = '#%#';
    $strftime_parameters[] = '%';
    foreach ($mappings as $df => $sf) {
        $date_parameters[] = '#(([^%\\\\])' . $df . '|^' . $df . ')#';
        $strftime_parameters[] = '${2}' . $sf;
    }
    // convert everything
    $format = preg_replace($date_parameters, $strftime_parameters, $format);
    // remove single backslashes from dates
    //$format = preg_replace('#\\\\([^\\\\]{1})#','${1}',$format);
    $format = preg_replace('#\\\\([^\\\\]{1})#', '${1}', $format);
    // remove double backslashes from dates
    $format = preg_replace('#\\\\\\\\#', '\\\\', $format);
    //$format = preg_replace('#\\\\#','\\',$format);
    return $format;
}