PHP学習ノート-進級編(8)

2181 ワード

PHP学習ノート-進級編(8)
日付と時刻
現在のUnixタイムスタンプを取得
UNIXタイムスタンプ(英語:timestamp)は、1970年1月1日00:00:00から現在時刻までの秒数の和を表すPHPにおける時間と日付に関する重要な概念である.
PHPには、サーバの現在時刻のタイムスタンプを取得するための関数time()が内蔵されています.では、現在のUNIXタイムスタンプを取得するのは簡単です.
$time = time();
echo $time;//1454209902,       1970 1 1  00:00:00

このスクリプトを出力するまで1454209902秒かかりました
現在の日付を取得
phpにはdate()関数が内蔵されており、現在の日付を取得します.
関数の説明:date(タイムスタンプのフォーマット、所定のタイムスタンプ[デフォルトは現在の日付と時間、オプション])
戻り値:関数の日付と時刻
例:
//date  ,            
echo date("Y-m-d");//2016-01-31
//date  ,          
echo date("Y-m-d",'1454209902');//2016-01-31,1454209902  2016-01-31 unix   

取得日のUnixタイムスタンプ
PHPは、日付のタイムスタンプを取得するか、時間のタイムスタンプを取得する関数strtotime実装機能を内蔵しています.例:
echo strtotime('2016-01-31');//1454169600,       1970 1 1  00:00:00  2016 01 31    1454169600 
echo strtotime('2016-01-31 00:00:01');//1454169600,       1970 1 1  00:00:00  2016-01-31 00:00:01    1454169600 

皆さんは上記の法則を発見しましたか?実はstrtotime('2016-01-31')はstrtotime('2016-01-31 00:00')に相当します.
フォーマットされた日付文字列をUnixタイムスタンプに変換
strtotime関数は、米国の英語の日付フォーマットを含む文字列を受け入れることを期待し、Unixタイムスタンプに解析しようとします.
関数の説明:strtotime(解析するタイムストリング、戻り値を計算するタイムスタンプ[デフォルトは現在の時間、オプション])戻り値:成功するとタイムスタンプが返され、そうでないとFALSEが返されます.
たとえば
echo strtotime("now");//        now            ,           unix   。     echo time();  。
echo strtotime("+1 seconds");//               1 ,           unix   。     echo time()+1;  。
echo strtotime("+1 day");//               1 。
echo strtotime("+1 week");//               1 。
echo strtotime("+1 week 3 days 7 hours 5 seconds");//               1 3 7  5 。

フォーマットグリニッジ(GMT)標準時間
gmdate関数はGMTの日付と時間をフォーマットすることができ、グリニッジ標準時(GMT)を返します.
例えば、私たちが現在いる中国のタイムゾーンは東八区で、グリニッジをリードする時間は8時間で、GMT+8とも呼ばれています.では、サーバーが以下のスクリプトを実行して戻ってくる時間は、2016-01-31 11:29:14と仮定します.
echo date('Y-m-d H:i:s', time()); //   :2016-01-31 11:29:14 
echo gmdate('Y-m-d H:i:s', time()); //   :2016-01-31 03:29:14

グリニッジ時間は現在の中国時間帯の時間から8時間を差し引いているため、現在より8時間少ない