$date
, string $format
) : array
strptime() は date
をパースした結果を配列で返します。エラー時には FALSE を返します。
月名や曜日、そしてその他の言語依存な文字列は
setlocale() (LC_TIME) で設定された現在の
ロケールを考慮して返します。
date (string)パースする文字列(例: strftime() の返り値)。
format (string)
date で使用されているフォーマット
(例: strftime() で使用されていたものと同じ)。
strftime() で使えるオプションの中には、
strptime() では何の影響を及ぼさないものがあることに注意しましょう。
実際にサポートする範囲がどのようになるのかは、
使っている OS と C ライブラリに依存します。
フォーマットオプションについての詳細は strftime() のページを参照ください。
成功した場合は配列、失敗した場合に FALSE を返します。
| パラメータ | 説明 |
|---|---|
| "tm_sec" | 分未満の秒数 (0-61) |
| "tm_min" | 時間未満の分数 (0-59) |
| "tm_hour" | 0 時以降の時間数 (0-23) |
| "tm_mday" | 月内の日数 (1-31) |
| "tm_mon" | 1 月から数えた月数 (0-11) |
| "tm_year" | 1900 年以降の年 |
| "tm_wday" | 日曜日からの日数 (0-6) |
| "tm_yday" | 1 月 1 日からの日数 (0-365) |
| "unparsed" | date の中で、指定された
format で判断できなかった部分 |
例1 strptime() の例
<?php
$format = '%d/%m/%Y %H:%M:%S';
$strf = strftime($format);
echo "$strf\n";
print_r(strptime($strf, $format));
?>
上の例の出力は、 たとえば以下のようになります。
03/10/2004 15:54:19
Array
(
[tm_sec] => 19
[tm_min] => 54
[tm_hour] => 15
[tm_mday] => 3
[tm_mon] => 9
[tm_year] => 104
[tm_wday] => 0
[tm_yday] => 276
[unparsed] =>
)
注意: この関数は Windows 環境にはまだ実装されていません。
注意:
内部では、この関数はシステムの C ライブラリ関数 strptime() をコールしています。 このライブラリ関数は、OS によって挙動が異なることがあります。 date_parse_from_format() はこの問題の影響を受けないので、PHP 5.3.0 以降ではこちらの関数を使うことを推奨します。
注意:
"tm_sec" には、うるう秒も組み込まれています (現在は、年間 2 秒まで)。うるう秒についての詳細な情報は » Wikipedia の記事 を参照ください。
注意:
PHP 5.2.0 より前のバージョンでは、この関数が未定義の挙動をすることがありました。 特に "tm_sec"、"tm_min" および "tm_hour" が未定義の値になることがありました。