Usaremos la Función strtotime y strftime
Una breve explicación de las dos funciones que usaremos:
strtotime
Convierte una descripción de fecha/hora textual en Inglés a una fecha Unix.
strftime
Formatea una fecha/hora local según una configuración local, en nuestro caso usaremos
setlocale(LC_TIME, "spanish"); |
setlocale(LC_TIME, "spanish");
Obtener el campo mes en diferentes formatos
Digamos que el valor de entrada de la variable $fecha es: 2017/11/18
El formato que devuelve va de 01 hasta 12, por ejemplo si seleccionamos una fecha que pertenezca al mes de febrero retornaría 02.
$numMes = date("m", strtotime($fecha));
// devuelve: 11 (refiriendose al mes de noviembre) |
$numMes = date("m", strtotime($fecha));
// devuelve: 11 (refiriendose al mes de noviembre)
El formato de salida es de 1 hasta 12, a diferencia del anterior formato suprime los 0 de los números de los meses de una cifra.
$numMes = date("n", strtotime($fecha));
// devuelve: 11 |
$numMes = date("n", strtotime($fecha));
// devuelve: 11
Devuelve una abreviatura del descriptivo del mes, el formato de salida será de Jan hasta Dec.
$numMes = date("M", strtotime($fecha));
//devuelve: Nov |
$numMes = date("M", strtotime($fecha));
//devuelve: Nov
Devuelve el descriptivo del mes, el formato de salida será de January hasta December
$numMes = date("F", strtotime($fecha));
// devuelve: November |
$numMes = date("F", strtotime($fecha));
// devuelve: November
Obtener fecha mes en español
Obtener el descriptivo del mes actual
setlocale(LC_TIME, "spanish");
echo strftime("%B");
//devuelve: noviembre |
setlocale(LC_TIME, "spanish");
echo strftime("%B");
//devuelve: noviembre
Obtener el descriptivo de la fecha actual en español
setlocale(LC_TIME, "spanish");
echo strftime("%A, %d de %B de %Y");
//devuelve: viernes, 17 de noviembre de 2017 |
setlocale(LC_TIME, "spanish");
echo strftime("%A, %d de %B de %Y");
//devuelve: viernes, 17 de noviembre de 2017
Obtener el descriptivo de una fecha dada en español (la variable $fecha la hemos definido al principio del artículo)
setlocale(LC_TIME, "spanish");
$fecha = '2017/11/18';
$fecha = str_replace("/", "-", $fecha);
$newDate = date("d-m-Y", strtotime($fecha));
$mesDesc = strftime("%B de %Y", strtotime($newDate));
//devuelve: Noviembre de 2017 |
setlocale(LC_TIME, "spanish");
$fecha = '2017/11/18';
$fecha = str_replace("/", "-", $fecha);
$newDate = date("d-m-Y", strtotime($fecha));
$mesDesc = strftime("%B de %Y", strtotime($newDate));
//devuelve: Noviembre de 2017
Excelente la información, me sirvió. Muchas gracias
Muy didáctico. Me fue de gran utilidad. Saludos, Nora.