IntlDateFormatter::parseToCalendar

(PHP 8 >= 8.4.0)

IntlDateFormatter::parseToCalendar文字列をパースしてタイムスタンプにし、使用中のカレンダーを更新する

説明

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

string を時間に変換します。offset からパースを開始し、入力値を可能な限り使用します。

このメソッドは IntlDateFormatter::parse() と同様に動作しますが、パースした string に含まれるタイムゾーン情報に応じて、フォーマッターのタイムゾーンが更新される点が異なります。

パラメータ

string
時間に変換する文字列。
offset
string のパースを開始する位置 (ゼロから数えます)。 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

参考