IntlDateFormatter::parseToCalendar

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

説明

public intfloatfalse IntlDateFormatter::parseToCalendar(string $string, int &$offset = null)

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