Tema: FAQ's de PHP
Ver Mensaje Individual
  #84 (permalink)  
Antiguo 17/10/2003, 14:19
Avatar de Manoloweb
Manoloweb
 
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
Tema: Fecha en español

PARA PONER LA FECHA EN ESPAÑOL IGUAL QUE CON DATE()

Pues yo aqui les comparto una funcion que hice para usar la función date(); con formato en español...

Se usa IGUALITO que date, solo que con la ventaja de que el input puede ser en formato de fecha de MySQL (20031016) o un time (mktime) o nada (), y el formato sigue las mismas reglas que la función date();

Código PHP:
function date_es($formato="F j, Y",$fecha=0) {
    if (
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})"$fecha,$partes)) {
        if (
checkdate($partes[2],$partes[3],$partes[1])) {
            
$fecha=strtotime($fecha);
        } else {
            return(-
1);
        }
    } elseif (
$fecha==0) {
        
$fecha=time();
    }
    
$dias=array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
    
$dias_c=array("Dom","Lun","Mar","Mie","Jue","Vie","Sab");
    
$meses=array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
    
$meses_c=array("","Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");

    
$valores=explode("|",date ("a|A|B|d|D|F|g|G|h|H|i|I|j|l|L|m|M|n|O|r|s|S|t|T|U|w|W|Y|y|z|Z",$fecha));
    
$claves= array ("a","A","B","d","D","F","g","G","h","H","i","I","j","l","L","m","M","n","O","r","s","S","t","T","U","w","W","Y","y","z","Z");
    for (
$i=0;$i<count($claves);$i++) {
        
$conv[$claves[$i]]=$valores[$i];
    }
    
$conv["D"]=$dias_c[$conv["w"]];
    
$conv["l"]=$dias[$conv["w"]];
    
$conv["F"]=$meses[$conv["n"]];
    
$conv["M"]=$meses_c[$conv["n"]];
    
$conv["r"]=$conv["D"].", ".$conv["d"]." ".$conv["M"]." ".$conv["Y"]." ".$conv["H"].":".$conv["i"].":".$conv["s"]." ".$conv["O"];
    
$conv["S"]="o";
    
$escape='\\\\\\';
    
$escapado=0;
    
$f=$formato;
    
$res="";
    for (
$t=0;$t<strlen($formato);$t++) {
        if (
$escapado==1) {
            
$res.=$f{$t};
            
$escapado=0;
        } else {
            if(
$f{$t}==$escape) {
                
$escapado=1;
            } else {
                if (isset(
$conv[$f[$t]])){
                    
$res.=$conv[$f[$t]];
                } else {
                    
$res.=$f{$t};
                }
            }
        }
    }
    return 
$res;

__________________
Manoloweb