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] =>
)