Obtener fecha en letra
PHP
Publicado el 16 de Marzo del 2015 por Cesar Manuel (5 códigos)
36.659 visualizaciones desde el 16 de Marzo del 2015
Se le introduce una fecha en formato: dd-mm-yyyy o dd/mm/yyyy . Devuelve la fecha en letras.
Así:
Pinta esto:
Domingo, 15 de marzo del 2015
Así:
1
2
3
4
<?php
$fecha = '15-03-2015';
echo obtenerFechaEnLetra($fecha);
?>
Pinta esto:
Domingo, 15 de marzo del 2015
Comentarios sobre la versión: 1.0 (14)
{
// asigno a la variable $dia el dia de la semana dada una fecha ver funcion conocerDiaSemanaFecha
$dia = $this->conocerDiaSemanaFecha($fecha);
// asigno a la variable $num el número del dia de la fecha dada ejemplo: 17/06/2016 $num = 17 ver date en http://php.net/manual/es/function.date.php
$num = date("j", strtotime($fecha));
// asigno a la variable $anno el año de la fecha dada ejemplo: 17/06/2016 $anno = 2016 ver date en http://php.net/manual/es/function.date.php
$anno = date("Y", strtotime($fecha));
// asigno a la variable $mes una lista de los meses donde cada elemento de la lista concide con el numero del mes - 1
$mes = array('enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre');
// redefino la variable $mes que es una lista con el número de mes que me devuelve la (date('m', strtotime($fecha)), lo multiplico x1 y le
// resto -1 ejemplo : fecha-> 17/06/2016 (date('m', strtotime($fecha))-> m= 07*1 -> 7-1 = 6 -> $mes[6] = junio
$mes = $mes[(date('m', strtotime($fecha)) * 1) - 1];
// retorno todo los valores concatenados como quiero ejemplo: Viernes, 17 de junio del 2016
return $dia . ', ' . $num . ' de ' . $mes . ' del ' . $anno;
}
//Para conocer el dia de la semana que cae una fecha dada
public function conocerDiaSemanaFecha($fecha) {
// asigno a la variable $dia una lista de los dias donde cada elemento de la lista concide con el numero del dia
$dias = array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
// redefino la lista $dia con el resultado de la funcion date('w', strtotime($fecha)) que devuelve el numero del dia
// que coincide con la posicion de los dias en la lista $dia ejemplo: fecha = 17/06/2016 -> date('w', strtotime($fecha)) = 5 -> $dias[5] = Viernes
$dia = $dias[date('w', strtotime($fecha))];
// retorno el valor de la variable $dia que ya no es una lista sino una cadena de caracters que corresponde a Viernes
return $dia;
}
y simplemente de llamara bien sea los datos desde la base de datos o si es una fecha local.
esta ejemplo aplica para las fechas locales.
<?php
setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
echo $fecha = strftime( "%d de %B de %Y" );
?>
ahora bien si es desde la base de datos asignas una variable
a quedaria algo como esto, es impotate que para que te pueda leer los datos correctamente que el campo de la bd sea date.
Espero les ayude
<?php
setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
$d = "nombre de l campo en la base de datos";
$fecha_base = strftime("%d de %B de %Y", strtotime($d));
echo $fecha_base;
?>