PHPの動作時間関数strtotime()の詳細説明
「前日印刷」の形式変換の質問は次のとおりです。
echo date(”Y-m-d h:i:s”,strtotime(”-1 day”));
「前月の 1 日の時刻を印刷」:
$a=mktime(0,0,0,date("m")-1,1,date("Y"));//来月の初日の UNIX 値を取得します
$next_mon_first_day=date("y-m-d",$a);
この strtotime() は非常に魔法のようなもので、柔軟に使用できれば、作業に大きな利便性をもたらすことは間違いありません。ただし、PHP のマニュアルにはこのパラメーターが指定されていません。機能の紹介が多すぎて、その他の機能の紹介がほとんどありません。関連情報は次のように構成されています:
最初にマニュアルの概要をお読みください:
strtotime — 英語テキストの日時記述を Unix タイムスタンプに解析します
形式: int strtotime ( string $time [, int $now ] )
この関数は、米国英語の日付形式を含む文字列を予期し、それを Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 GMT からの秒数) に解析しようとします。その値は、now パラメータの時間に相対して与えられます。このパラメータが指定されていない場合は、現在のシステム時間が使用されます。
この関数は、TZ 環境変数 (存在する場合) を使用してタイムスタンプを計算します。 PHP 5.1.0 以降、すべての日付/時刻関数で使用されるタイムゾーンを定義する簡単な方法が追加されました。このプロセスについては、date_default_timezone_get 関数のページで説明されています。
注: 指定された年が 2 桁形式の場合、値 0 ~ 69 は 2000 ~ 2069 年を表し、70 ~ 100 は 1970 ~ 2000 年を表します。
パラメータ
time: GNU » 日付入力形式の構文に従ってフォーマットされた、解析された文字列。 PHP 5.0 より前では、ミリ秒は時間内で許可されていませんでした。PHP 5.0 以降では、ミリ秒は許可されますが、無視されます。
now: 戻り値の計算に使用されるタイムスタンプ。このパラメータのデフォルト値は現在の時刻 time() ですが、他の時刻のタイムスタンプに設定することもできます。
戻り値: 成功した場合はタイムスタンプを返し、それ以外の場合は FALSE を返します (PHP 5.1.0 より前では、この関数は失敗すると -1 を返し、それ以降のバージョンでは false を返しました)。
strtotime の最初のパラメーターには、「2008-8-20」や「2000 年 9 月 10 日」などの一般的な英語の時刻形式を指定できます。 「+1 日」など、現在のパラメーターに基づく時間の説明にすることもできます。
以下は、後者の方法で使用できるパラメーターのリストです。ここで、「現在時刻」は、strtotime の 2 番目のパラメーター now の値を指し、デフォルトは現在時刻です。