CakeFest 2024: The Official CakePHP Conference

IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parseAnalyse une chaîne vers un timestamp

Description

Style orienté objet

public IntlDateFormatter::parse(string $string, int &$offset = null): int|float|false

Style procédural

datefmt_parse(IntlDateFormatter $formatter, string $string, int &$offset = null): int|float|false

Converti string en une valeur de temps, en commençant à offset et en lisant autant de caractères que possible.

Liste de paramètres

formatter

La ressource de formateur IntlDateFormatter.

string

La chaîne à convertir en temps.

offset

La position à partir de laquelle commencer l'analyse dans la valeur string. Les positions commencent à 0. Si aucune erreur ne survient durant l'analyse de string, offset contiendra -1, et sinon, il va contenir la position à laquelle l'analyse s'est terminée (et l'erreur est survenue). Cette variable va contenir la position de fin si l'analyse échoue. Si offset > strlen($string), l'analyse échoue immédiatement.

Valeurs de retour

La valeur du timestamp analysé ou false si la valeur n'a pu être analysée.

Exemples

Exemple #1 Exemple orienté objet

<?php
$fmt
= new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'Le premier format analysé est ' . $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
);
?>

Exemple #2 Exemple avec datefmt_parse()

<?php
$fmt
= datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo
'Le premier format analysé est ' . 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
'Le deuxième format analysé est ' . datefmt_parse($fmt, 'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?>

L'exemple ci-dessus va afficher :

Le premier format analysé est 630201600
Le deuxième format analysé est 630201600

Voir aussi

add a note

User Contributed Notes 1 note

up
1
Anonymous
5 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