• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • IntlDateFormatter::parse()

    datefmt_parse

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

    Parse string to a timestamp value

    说明

    面向对象风格
    publicIntlDateFormatter::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.