PHP strtotime() 関数
例
英文テキストの日付時刻を Unix タイムスタンプに解析する:
<?php echo(strtotime("now") . "<br>"); echo(strtotime("15 October 1980") . "<br>"); echo(strtotime("+5 hours") . "<br>"); echo(strtotime("+1 week") . "<br>"); echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>"); echo(strtotime("next Monday") . "<br>"); echo(strtotime("last Sunday")); ?>
定義と用法
strtotime() 関数は、英語のテキストの日付または時間の記述を、Unix タイムスタンプ(1970年1月1日 00:00:00 GMTからの秒数)に解析します。
注意:年が2桁のフォーマットで表示される場合、値 0-69 は 2000-2069 に、値 70-100 は 1970-2000 にマッピングされます。
注意:m/d/y または d-m-y フォーマットの日付にご注意ください。セパレータが斜線(/)の場合は、アメリカの m/d/y フォーマットを使用してください。セパレータがハイフン(-)または点(.)の場合は、ヨーロッパの d-m-y フォーマットを使用してください。潜在的なエラーを避けるために、可能な限り YYYY-MM-DD フォーマットを使用するか、date_create_from_format() 関数を使用してください。
文法
strtotime(time,now);
パラメータ | 説明 |
---|---|
time | 必須。日期間/時間文字列を指定します。 |
now | オプション。返り値を計算するために使用されるタイムスタンプを指定します。このパラメータを省略すると、現在の時間が使用されます。 |
技術的詳細
返り値: | 成功した場合、タイムスタンプを返しますが、失敗した場合、FALSE を返します。 |
---|---|
PHP バージョン: | 4+ |
更新ログ:
5.3.0: | 現在、相対時間の形式、例えば「今週」、「先週」、「前週」、「次週」は、週が月曜日から日曜日までと規定されていますが、現在の日期間/時間から前後7日を基にしています。 |
5.3.0 | PHP 5.3.0 以前では、24:00 は有効な形式ではありませんでしたが、strtotime() は FALSE を返していました。 |
5.2.7 | これ以前のバージョンでは、特定の月の特定の日を要求し、その日がその月の最初の日であれば、誤って1週間を加えることがありましたが、これが修正されました。 |
5.1.0 | 失敗した場合、FALSE を返します(これ以前のバージョンでは -1 を返します)および、E_STRICTおよびE_NOTICEのタイムゾーンエラーが追加されました。 |
5.0.2 | 現在、「now」や他の相対時間は現在の時間に基づいて正確に計算されますが、今日の真夜中の時間に基づいて計算されません。 |
5.0.0 | マイクロ秒(ただし、マイクロ秒の数は通常無視されます)。 |
4.4.0 | PHP 4.4 以前では、「next」は誤って +2 として計算されていました。この問題に対する一般的な解決策は「+1」を使用することです。 |