IntlDateFormatter::parse
datefmt_parse
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::parse -- datefmt_parse — 文字列をパースしてタイムスタンプにする
説明
オブジェクト指向型
public IntlDateFormatter::parse
( string $value
[, int &$position
] ) : int
手続き型
datefmt_parse
( IntlDateFormatter $fmt
, string $value
[, int &$position
] ) : int
文字列 $value を時間に変換します。$parse_pos からパースを開始し、 入力値を可能な限り使用します。
パラメータ
fmt
- Formatter リソース。
value
- 時間に変換する文字列。
position
- $value のパースを開始する位置 (ゼロから数えます)。 $value を処理する前にエラーが発生していない場合は $parse_pos は -1 となります。それ以外の場合はパースが終了した位置となります (そしてエラーが発生します)。 この変数には、パースが失敗した場合にその終了位置が含まれます。 $parse_pos > strlen($value) の場合、パースは即時に失敗します。
返り値
タイムスタンプとしてパースされた値を返します。
パースできなかった場合は false
を返します。
例
例1 オブジェクト指向の例
<?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');?>
例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() - 直近の操作のエラーテキストを取得する