IntlDateFormatter::parse
datefmt_parse
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::parse -- datefmt_parse — 文字列をパースしてタイムスタンプにする
説明
オブジェクト指向型
手続き型
string
を時間に変換します。offset
からパースを開始し、
入力値を可能な限り使用します。
パラメータ
formatter
-
Formatter リソース。
string
-
時間に変換する文字列。
offset
-
string
のパースを開始する位置 (ゼロから数えます)。string
を処理する前にエラーが発生していない場合はoffset
は -1 となります。それ以外の場合はパースが終了した位置となります (そしてエラーが発生します)。 この変数には、パースが失敗した場合にその終了位置が含まれます。offset
>strlen($string)
の場合、パースは即時に失敗します。
戻り値
タイムスタンプとしてパースされた値を返します。
パースできなかった場合は false
を返します。
例
例1 オブジェクト指向の例
<?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
参考
- datefmt_create() - Date Formatter を作成する
- datefmt_format() - 日付/時刻 の値を文字列としてフォーマットする
- datefmt_localtime() - 文字列をパースして、フィールドベースの時刻値にする
- datefmt_get_error_code() - 直近の操作のエラーコードを取得する
- datefmt_get_error_message() - 直近の操作のエラーテキストを取得する
+add a note
User Contributed Notes 1 note
Anonymous ¶
6 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.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google