PHP がローカライズされたタイムスタンプ関数を取得
実際の作業では、特定の時間を指定して生成する必要があることがよくあります。
例: 昨日から今日までの登録ユーザーを検索する必要があります。
次に、次の 2 つのことを行う必要があります:
1. 現在の時刻の UNIX タイムスタンプを取得します。 time() 関数を使用して直接実行できます
2. では、指定された昨日の時刻を生成する方法です。現時点では、mktime() 関数を使用する必要があります。略称:メイクタイム。
生成される時刻は、UNIX タイムスタンプであることが望ましいです。 1970年1月1日0時から現在までの時間ですから。昨日から今日までに登録されたユーザーを時間間隔で判定し、フィルタリングします。
mktime() 関数は、日付と時刻のローカライズされたタイムスタンプを取得できます。構文形式は次のとおりです:
int mktime (int $hour [, int $min [, int $sec [, int $month [, int $day [. int$year [, int $.is_dstl.l } ] ] 31)
関数のパラメーターはそれぞれ、時、分、秒、月、日、年、および夏時間かどうかを表します。この関数を使用する場合、リストされているパラメータは関数のパラメータと同じ意味を持つことに注意してください。たとえば、次のコードは、mktime を使用してタイムスタンプを構築する関数を実装します。
<?php echo mktime (13 ,15 , 30, 8,18, 2008) ; ?>
プログラムの実行結果は次のとおりです:
1219036530
mktime 関数の戻り結果は、ユーザーにとってほとんど意味を持たない Unix タイムスタンプです。時刻を完了するために date 関数と一緒に使用されることがよくあります。変換。
たとえば、次のコードは時間計算を実装しています:
<?php echo date("m-d-Y h:m:s")."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d"),date("Y")))."\n"; echo date("m-d-Y h:m:s",mktime(10,15,35,date("m"),date("d")-30,date("Y")))."\n"; ?>
これを使用する場合、多くの場合、別の関数 strtotime() を使用する必要があります。
その構文形式は次のとおりです:
int strtotime ( string $time [, int $now = time() ] )
英語テキストの日付と時刻の記述を Unix タイムスタンプに解析できます。
パラメータ:
1. 文字列の時刻を渡します
2. オプションのパラメータは、UNIX タイムスタンプを渡すかどうかであり、渡さない場合は、現在の UNIX タイムスタンプです。
マニュアルで提供されているいくつかの例を実験して見てみましょう:
<?php //now为现在的当前时间 echo strtotime("now")."<br />"; //2000年9月10日 echo strtotime("10 September 2000")."<br />"; //当前时间加一天 echo strtotime("+1 day")."<br />"; //当前时间加一周 echo strtotime("+1 week")."<br />"; //当前时间加一周2天4小时2秒 echo strtotime("+1 week 2 days 4 hours 2 seconds")."<br />"; //下一个星期四 echo strtotime("next Thursday")."<br />"; //上一个星期一 echo strtotime("last Monday")."<br />"; ?>
上記の例を通じて、英語で表現された指定された期間に時間が加算または減算されることがわかりました。