Hola a todos
Espero que me puedan ayudar
Tengo un campo en la bd Fecha que esta en cadena y le convertido como Fecha
Pero a la hora de Listarlo
Como yo quiero es por ejemplo Diciembre del 2015
Me sale en ingles December del 2015
Estoy tratando de hacerlo con un array pero no me funciona
<?php
date_default_timezone_set('America/Lima');
$calendario_meses = array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",
7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",
11=>"Noviembre",12=>"Diciembre");
?>
// Esta es la manera como extraigo de la BD
<?php
$data = explode('-', $res['icr_fecha_revision2']);
echo date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1])); ?>
</td>
CitarEstoy tratando de hacerlo con un array pero no me funciona
No veo que hagas nada con ese array :-\
Hay varias formas pero depende de si el SO del servidor lo soporta. Una forma es simplemente decirle a PHP que use el locale español.
Esto seria:
date_default_timezone_set('America/Lima');
setlocale(LC_ALL,'es_ES');
$data = explode('-', $res['icr_fecha_revision2']);
$fecha = strftime('%B del %Y', strtotime($data[0] . '-' . $data[1]));
echo $fecha;
// Diciembre del 2015
Pero puede que el SO donde se va alojar el script no soporte ese idioma. En tal caso no te queda mas remedio que cambiar los meses a español por tu cuenta.
que seria algo así:
date_default_timezone_set('America/Lima');
$calendario_meses = array(
'January'=>'Enero',
'Febuary'=>'Febrero',
'March'=>'Marzo',
'April'=>'Abril',
'May'=>'Mayo',
'June'=>'Junio',
'July'=>'Julio',
'August'=>'Agosto',
'September'=>'Septiembre',
'October'=>'Octubre',
'November'=>'Noviembre',
'December'=>'Diciembre'
);
$data = explode('-', $res['icr_fecha_revision2']);
$fecha = date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1]));
$fecha = strtr($fecha, $calendario_meses);
echo $fecha;
// Diciembre del 2015
Ahí simplemente estarías reemplazando los meses en ingles por español. Ten cuidado, no uses los dos a la vez pues si de repente php devuelve los meses en español y tu aun así los reemplazas, "Mayo" por ejemplo se convertiría en "Mayoo".
Saludos
Amigo con el array funciona perfecto
pero una cuando tengo el campo vacio en la BD
este me devuelve con fecha de diciembre del 1969
cuando debería aparecerme en blanco como puedo hacer que solo aparezca los que tienen fechas y los que están con campos vacíos en blanco
Cita de: #!drvy en 6 Diciembre 2015, 23:57 PM
No veo que hagas nada con ese array :-\
Hay varias formas pero depende de si el SO del servidor lo soporta. Una forma es simplemente decirle a PHP que use el locale español.
Esto seria:
date_default_timezone_set('America/Lima');
setlocale(LC_ALL,'es_ES');
$data = explode('-', $res['icr_fecha_revision2']);
$fecha = strftime('%B del %Y', strtotime($data[0] . '-' . $data[1]));
echo $fecha;
// Diciembre del 2015
Pero puede que el SO donde se va alojar el script no soporte ese idioma. En tal caso no te queda mas remedio que cambiar los meses a español por tu cuenta.
que seria algo así:
date_default_timezone_set('America/Lima');
$calendario_meses = array(
'January'=>'Enero',
'Febuary'=>'Febrero',
'March'=>'Marzo',
'April'=>'Abril',
'May'=>'Mayo',
'June'=>'Junio',
'July'=>'Julio',
'August'=>'Agosto',
'September'=>'Septiembre',
'October'=>'Octubre',
'November'=>'Noviembre',
'December'=>'Diciembre'
);
$data = explode('-', $res['icr_fecha_revision2']);
$fecha = date('F \d\e\l Y', strtotime($data[0] . '-' . $data[1]));
$fecha = strtr($fecha, $calendario_meses);
echo $fecha;
// Diciembre del 2015
Ahí simplemente estarías reemplazando los meses en ingles por español. Ten cuidado, no uses los dos a la vez pues si de repente php devuelve los meses en español y tu aun así los reemplazas, "Mayo" por ejemplo se convertiría en "Mayoo".
Saludos