PHP Conference Nagoya 2025

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parseConvertir una cadena en un valor de marca de tiempo

Descripción

Estilo orientado a objetos

public IntlDateFormatter::parse(string $value, int &$position = ?): int

Estilo por procedimientos

datefmt_parse(IntlDateFormatter $fmt, string $value, int &$position = ?): int

Convierte la cadena $value a un valor de marca de tiempo incremental, empezando en la posición dada por $parse_pos y consumiendo tanto del valor de entrada como sea posible.

Parámetros

fmt

El recurso del formateador

value

La cadena que convertir a un instante

position

La posición a la cual empezar la conversión de $value (basado en cero). Si no ocurre ningún error antes de que $value sea consumido, $parse_pos contendrá -1, de otro modo contendrá la posición en la que finaliza la conversión (ocurrido el error). Esta variable contendrá la posición final si la converión falla. Si $parse_pos > strlen($value), la conversión falla automáticamente.

Valores devueltos

El valor de la marca de tiempo, o false si el valor no se puede analizar.

Ejemplos

Ejemplo #1 Ejemplo orientado a objetos

<?php
$fmt
= new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'La primera salida convertida es ' . $fmt->parse('Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = new IntlDateFormatter(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'La segunda salida convertida es ' . $fmt->parse('Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

Ejemplo #2 Ejemplo de datefmt_parse()

<?php
$fmt
= datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'La primera salida convertida es ' . datefmt_parse($fmt, 'Wednesday, December 20, 1989 4:00:00 PM PT');
$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'La segunda salida convertida es ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

El resultado del ejemplo sería:

La primera salida convertida es 630201600
La segunda salida convertida es 630201600

Ver también

add a note

User Contributed Notes 1 note

up
0
Anonymous
6 years ago
Please note:
* on a 32-bit system, parse() will return float if the value gets out of integer range
* while parse() parses fractional seconds with a format like 'yyyy-MM-dd HH:mm:ss.SSSSSS', it only returns an int. This is also true when the value is returned as float, msecs remain absent in the return value.
To Top