PHP 7.4.24 Released!

IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parseParse string to a timestamp value

Beschreibung

Objektorientierter Stil

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

Prozeduraler Stil

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

Converts string to an incremental time value, starting at offset and consuming as much of the input value as possible.

Parameter-Liste

formatter

The formatter resource

string

string to convert to a time

offset

Position at which to start the parsing in string (zero-based). If no error occurs before string is consumed, offset will contain -1 otherwise it will contain the position at which parsing ended (and the error occurred). This variable will contain the end position if the parse fails. If offset > strlen($string), the parse fails immediately.

R├╝ckgabewerte

Timestamp of parsed value, or false if value cannot be parsed.

Beispiele

Beispiel #1 OO example

<?php
$fmt 
= new IntlDateFormatter(
    
'en_US',
    
IntlDateFormatter::FULL,
    
IntlDateFormatter::FULL,
    
'America/Los_Angeles',
    
IntlDateFormatter::GREGORIAN
);
echo 
'First parsed output is ' $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
);
?>

Beispiel #2 datefmt_parse() example

<?php
$fmt 
datefmt_create(
    
'en_US',
    
IntlDateFormatter::FULL,
    
IntlDateFormatter::FULL,
    
'America/Los_Angeles',
    
IntlDateFormatter::GREGORIAN
);
echo 
'First parsed output is ' 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 
'Second parsed output is ' datefmt_parse($fmt'Mittwoch, 20. Dezember 1989 16:00 Uhr GMT-08:00');
?

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

First parsed output is 630201600
Second parsed output is 630201600

Siehe auch

add a note add a note

User Contributed Notes 1 note

up
0
Anonymous
3 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