IntlDateFormatter::parse()
datefmt_parse
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
Parse string to a timestamp value
说明
面向对象风格public IntlDateFormatter::parse(string $value[,int &$position]): int
过程化风格
datefmt_parse(IntlDateFormatter$fmt,string $value[,int &$position]): int
Converts string $value to an incremental time value, starting at $parse_pos and consuming as much of the input value as possible.
参数
- $fmt
The formatter resource
- $value
string to convert to a time
- $position
Position at which to start the parsing in $value(zero-based). If no error occurs before $value is consumed,$parse_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 $parse_pos > strlen($value), the parse fails immediately.
返回值
timestamp parsed value, or FALSE
if value can't be parsed.
范例
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 ); ?>
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'); ?
以上例程会输出:
First parsed output is 630201600 Second parsed output is 630201600
参见
- datefmt_create() Create a date formatter
- datefmt_format() Format the date/time value as a string
- datefmt_localtime() Parse string to a field-based time value
- datefmt_get_error_code() Get the error code from last operation
- datefmt_get_error_message() Get the error text from the last operation
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.