(PHP 8 >= 8.4.0)
IntlDateFormatter::parseToCalendar — 文字列をパースしてタイムスタンプにし、使用中のカレンダーを更新する
$string, int &$offset = null): int|float|false
string を時間に変換します。offset
からパースを開始し、入力値を可能な限り使用します。
このメソッドは IntlDateFormatter::parse()
と同様に動作しますが、パースした string
に含まれるタイムゾーン情報に応じて、フォーマッターのタイムゾーンが更新される点が異なります。
stringoffsetstring のパースを開始する位置 (ゼロから数えます)。
string を最後まで処理してもエラーが発生しなかった場合、
offset は -1 となります。それ以外の場合は、
パースが終了した (そしてエラーが発生した) 位置となります。
パースが失敗した場合、この変数にはその終了位置が格納されます。
offset > strlen($string) の場合、パースは即時に失敗します。
タイムスタンプとしてパースされた値を返します。
パースできなかった場合は false を返します。
例1 IntlDateFormatter::parseToCalendar() の例
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo $fmt->parseToCalendar('Wednesday, December 20, 1989 at 4:00:00 PM Pacific Standard Time');
?>上の例の出力は以下となります。
630201600