Parse string to a timestamp value (original) (raw)

IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parse — Parse string to a timestamp value

Description

Object oriented style

public IntlDateFormatter::parse ( string $value [, int &$position ] ) : int

Procedural style

datefmt_parse ( IntlDateFormatter $fmt , string $value [, int &$position ] ) : int

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

Parameters

fmt

The formatter resource

value

string to convert to a time

position

Position at which to start the parsing in value(zero−based).Ifnoerroroccursbeforevalue (zero-based). If no error occurs before value(zerobased).Ifnoerroroccursbeforevalue is consumed, parseposwillcontain−1otherwiseitwillcontainthepositionatwhichparsingended(andtheerroroccurred).Thisvariablewillcontaintheendpositioniftheparsefails.Ifparse_pos 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 parseposwillcontain1otherwiseitwillcontainthepositionatwhichparsingended(andtheerroroccurred).Thisvariablewillcontaintheendpositioniftheparsefails.Ifparse_pos > strlen($value), the parse fails immediately.

Return Values

timestamp parsed value, or FALSE if value can't be parsed.

Examples

Example #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 ); ?>

Example #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'); ?

The above example will output:

First parsed output is 630201600 Second parsed output is 630201600

See Also