Función PHP date_parse_from_format ()

Definición y uso

La función date_parse_from_format () acepta una cadena de formato y una cadena de fecha como parámetros y devuelve información sobre la fecha dada en el formato especificado.

Sintaxis

date_parse($date)

Parámetros

No Señor Descripción de parámetros
1

format(Mandatory)

Este es un valor de cadena que representa el formato en el que necesita formatear la información sobre la fecha.

2

date(Mandatory)

Este es un valor de cadena que representa la fecha para la que necesita la información.

Valores devueltos

La función PHP date_create_from_format () devuelve una matriz que contiene la información sobre la fecha dada en el formato especificado.

Versión PHP

Esta función se introdujo por primera vez en la versión 5.3.0 de PHP y funciona con todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función date_parse_from_format () :

<?php
   //Creating a DateTime object
   $date = "25-Mar-1989";
   $format = "d-M-Y";
   $res = date_parse_from_format($format, $date);
   print_r($res);
?>

Esto producirá el siguiente resultado:

Array
(
    [year] => 1989
    [month] => 3
    [day] => 25
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] =>
)

Ejemplo

Veamos diferentes formatos para analizar una fecha:

<?php
   $res1 = date_parse_from_format("j.n.Y", "25.8.2014");
   print_r($res1);
   
   $res2 = date_parse_from_format("y-d-m", "2014-25-8");
   print_r($res2);
   
   $res3 = date_parse_from_format("n/j/y", "8/25/2014");
   print_r($res3);
   
   $res4 = date_parse_from_format("D.M.Y", "25.8.2014");
   print_r($res4);
   
   $res5 = date_parse_from_format("H/i/s", "12/32/25");
   print_r($res5);
?>

Esto producirá el siguiente resultado:

Array
(
    [year] => 2014
    [month] => 8
    [day] => 25
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] =>
)
Array
(
    [year] => 2020
    [month] => 25
    [day] => 14
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 1
    [warnings] => Array
        (
            [7] => The parsed date was invalid
        )

    [error_count] => 2
    [errors] => Array
        (
            [2] => The separation symbol could not be found
            [7] => Trailing data
        )

    [is_localtime] =>
)
Array
(
    [year] => 2020
    [month] => 8
    [day] => 25
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 1
    [errors] => Array
        (
            [7] => Trailing data
        )

    [is_localtime] =>
)
Array
(
    [year] => 8
    [month] =>
    [day] =>
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 4
    [errors] => Array
        (
            [0] => A textual day could not be found
            [3] => The separation symbol could not be found
            [4] => Trailing data
        )

    [is_localtime] =>
)
Array
(
    [year] =>
    [month] =>
    [day] =>
    [hour] => 12
    [minute] => 32
    [second] => 25
    [fraction] => 0
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] =>
)

Ejemplo

El siguiente ejemplo demuestra date_parse_from_format () con formatos relativos -

<?php
   print_r(date_parse_from_format("Y-m-d", "2009-18-18-+52 week +25 hour"));
   print("\n");
   print_r(date_parse_from_format("Y-m-d", "1990-06-06 +52 week +25 hour"));
?>

Esto producirá el siguiente resultado:

Array
(
    [year] => 2009
    [month] => 18
    [day] => 18
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 1
    [warnings] => Array
        (
            [10] => The parsed date was invalid
        )

    [error_count] => 1
    [errors] => Array
        (
            [10] => Trailing data
        )

    [is_localtime] =>
)

Array
(
    [year] => 1990
    [month] => 6
    [day] => 6
    [hour] =>
    [minute] =>
    [second] =>
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 1
    [errors] => Array
        (
            [10] => Trailing data
        )

    [is_localtime] =>
)