説明
strptime
( string $date
, string $format
) : array|false
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 の中で、指定された
|
例
例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 秒まで)。うるう秒についての詳細な情報は [http://en.wikipedia.org/wiki/Leap_second » Wikipedia の記事] を参照ください。
注意:
PHP 5.2.0 より前のバージョンでは、この関数が未定義の挙動をすることがありました。 特に
"tm_sec"
、"tm_min"
および"tm_hour"
が未定義の値になることがありました。
参考
- checkdate() - グレゴリオ暦の日付/時刻の妥当性を確認します
- strftime() - ロケールの設定に基づいてローカルな日付・時間をフォーマットする
- date_parse_from_format() - 指定した書式でフォーマットされた日付についての情報を取得する
- DateTime::createFromFormat() - 指定した書式で時刻文字列をパースする