Extraer año, mes o día de alguna fecha en PHP

Introducción

Las fechas en PHP son una cosa a la que todo programador se enfrenta algún día.

Hoy veremos cómo extraer año, mes o día de alguna fecha en PHP.

Esto sirve cuando tenemos determinada fecha y queremos conocer únicamente algún dato (mes, día, hora, minutos).

Extraer año, mes o día de alguna fecha en PHP

Representación entera, no como cadena

Como primer paso debemos tener la fecha en formato entero, es decir, que represente los segundos transcurridos desde la fecha Unix.

Si tenemos una fecha como cadena, por ejemplo “2018-07-30T20:55:20” podemos obtener su representación entera con strtotime, así:

Y si sólo queremos saber la fecha actual, utilizamos la función time que devuelve el tiempo transcurrido desde la época Unix hasta el día de hoy (con segundos y minutos y todo eso).

Una vez que ya tenemos nuestra fecha como entero, es hora de obtener lo que necesitamos.

Formateando para obtener valores

PHP proporciona otra función llamada date que recibe como primer argumento el formato que queremos aplicar a una fecha, y como segundo argumento recibe el tiempo transcurrido desde la época Unix representado como segundos.

Los formatos pueden verse en la documentación oficial, pero aquí sólo vamos a extraer valores.

Obtener o extraer año

Para obtener el año con cuatro dígitos, hacemos esto:

Lo que da una salida como 2017, 2018, etcétera. Utilizamos la letra Y mayúscula que nos da precisamente el año.

Obtener o extraer mes

En este caso usamos al modificador m. Devuelve un entero desde el 0 hasta el 11. El cero representa a enero y el 11 a diciembre.

Obtener o extraer día

Ahora utilizamos d. Esto regresa un valor entre 1 y el número de días que tenga el mes de la fecha (no es como el del mes que empieza desde cero).

El valor regresado incluye ceros a la izquierda. Por ejemplo 01, 02, etcétera.

Obtener o extraer hora

Para esto utilizamos H así:

La hora es devuelta con valores desde 00 hasta 23. Es decir, las 0 horas son las 12 de la noche y las 23 son las 11 de la noche. Notar por favor que devuelve la hora con ceros a la izquierda.

Minutos y segundos

Para los minutos y segundos utilizamos i y s respectivamente:

Cabe mencionar que ambos valores van de 00 hasta 59 y que son devueltos con ceros a la izquierda.

Ejemplo completo

He aquí un ejemplo completo de la fecha “2018-07-30T20:55:20”:

La salida es casi la misma fecha, pero esto sólo es para ejemplificar cómo se extrae cada cosa.

Y aquí uno de la fecha actual:

 

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

3 comentarios en “Extraer año, mes o día de alguna fecha en PHP”

  1. Si quiero tomar la fecha guardada en una base de datos, y no tomar la actual o predefinir una, como lo hago?
    Ejemplo del controller{
    $articulos = DB::table(‘articulos’)
    ->select(‘articulos.titulo’,’articulos.autorEs’,’articulos.fecha’,’articulos.volumen’,’articulos.nombreRevista’,’articulos.dePagina’,’articulos.aPagina’,’articulos.nombreEvidencia’,’t.nombreTipoArticulo’)
    ->join(‘tipoarticulos as t’,’articulos.tipoarticulo_id’,’=’,’t.id’)
    ->where(‘articulos.activo’,’=’,1)
    ->where(‘articulos.estadoLogico’,’=’,1)
    ->get();
    return view(‘Produccion.Articulos’,compact(‘articulos’));
    }
    ejemplo del blade{
    {{$datos_articulos->autorEs}}, {{$datos_articulos->fecha}}, {{$datos_articulos->titulo}}, {{$datos_articulos->nombreRevista}}, vol({{$datos_articulos->volumen}}), pp({{$datos_articulos->dePagina}} – {{$datos_articulos->aPagina}})
    }

Dejar un comentario