IntlDateFormatter::parse

datefmt_parse

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

IntlDateFormatter::parse -- datefmt_parse将字符串解析为时间戳值

描述

面向对象风格

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

过程式风格

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

string 转换为增量时间值,从 offset 开始,并尽可能多地使用输入值。

参数

formatter

格式化器资源

string

要转换为时间的字符串

offset

string 中开始解析的位置(从零开始)。如果在 string 被使用之前没有发生错误,则 offset 将包含 -1,否则将包含解析结束(以及错误发生)的位置。此变量将包含解析失败时的结束位置。如果 offset > strlen($string),则解析立即失败。

返回值

解析值的 timestamp,或者如果值无法解析则为 false

示例

示例 #1 OO 示例

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

示例 #2 datefmt_parse() 示例

<?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

参见

添加笔记

用户贡献的笔记 1 个笔记

匿名
6 年前
请注意
* 在 32 位系统上,parse() 将在值超出整数范围时返回浮点数
* 虽然 parse() 使用像 'yyyy-MM-dd HH:mm:ss.SSSSSS' 这样的格式解析小数秒,但它只返回一个整数。即使返回值为浮点数,毫秒也仍然不存在于返回值中。
To Top