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

# 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

### 参考

- IntlDateFormatter::parse() - 文字列をパースしてタイムスタンプにする
- IntlDateFormatter::format() - 日付/時刻 の値を文字列としてフォーマットする
- IntlDateFormatter::getErrorCode() - 直近の操作のエラーコードを取得する
- IntlDateFormatter::getErrorMessage() - 直近の操作のエラーテキストを取得する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open