ホームページ  >  記事  >  バックエンド開発  >  PHPでのstrtotime時間関数の使い方の詳細な説明

PHPでのstrtotime時間関数の使い方の詳細な説明

WBOY
WBOYオリジナル
2016-07-25 08:59:201025ブラウズ
  1. echo date("Y-m-d H:i:s", strtotime("feb", strtotime("2011-03-31")));
コードをコピー

プログラムは次を出力します: 2011-03-03 00:00:00。 見た目の観点からは、この結果は必ずしも望ましいものではないかもしれませんが、この解決策を決定するものは何でしょうか。 strtotime 関数は月の計算を実行します。 月のみが計算されます。これは、月を指定した月の値に直接設定することと同じです。たとえば、jan と January には対応する内部値が設定されます。

2.最初のキーワード first は補助キーワードで、2011 年の最初の日曜日を検索するなど、確認値を指定できる週、日などのキーワードと組み合わせて使用​​できます。

  1. echo date("Y-m-d H:i:s", strtotime("第 2 日曜日", strtotime("2011-01-01"))), "
    ";
コードをコピーします

PHP ソース コードでは、first、week、day の組み合わせは別々に使用されます。つまり、最初の日は処理操作に対応し、最終的な C 実装では、day の値は 1 に指定されます。つまり、時間構造体では、次のコードに示すように、d フィールドは 1 として指定されます。

  1. switch (time->relative.first_last_day_of) {
  2. case 1: /* first */
  3. time->d = 1;
  4. break;
  5. case 2: /* last */
  6. time- >d = 0;
  7. time->m++;
  8. break;
  9. }
コードをコピー

3、前と次のキーワード first と同様に、previous キーワードは、week および day と組み合わせて使用​​して、指定した時刻の曜日または前日を示すことができます。コードは次のとおりです。

  1. echo date("Y-m-d H:i:s", strtotime("前の日曜日", strtotime("2011-02-01"))), "
    ";
コードをコピーします

プログラムは次のように出力します: 2011-01-30 00:00:00 プログラムは 2011 年 2 月 1 日より前の日曜日を探します。 次のキーワードは前のキーワードとは逆で、次の曜日または翌日を表します。

4. 最後のキーワード last キーワードは、前または最後のキーワードとして使用できます。前の日曜日の日付を確認するには:

  1. echo date("Y-m-d H:i:s", strtotime("最後の日曜日", strtotime("2011-02-05"))), "
    ";
コードをコピーします

プログラムは次のように出力します: 2011-01-30 00:00:00 プログラムが最後として使用される場合、その適用シナリオは、指定された日付が位置する月の最終日となり、これは date("t") の結果と等価です。 2000 年 2 月の最終日:

  1. echo date("Y-m-d H:i:s", strtotime("last day", strtotime("2000-02-01"))), "
    ";
コードをコピー

first、previous、last、および this キーワードは、re ファイル内の同じグループに属します。

5. 裏と表のキーワード これら 2 つのキーワードは、時刻の順方向および逆方向の操作であり、その呼び出し形式は次​​のとおりです。

  1. echo date("Y-m-d H:i:s", strtotime("back of 24", strtotime("2011-02-01"))), "
    ";
  2. echo date("Y-m-d H:i:s", strtotime("front of 24", strtotime("2011-02-01"))), "
    ";
コードをコピー

戻るとは、指定された時間の値の 15 分後に時間を設定することを意味します。 24:00の場合は翌日の0:15までカウントされます。 「front」は、指定された時間値の 45 分前に時間を設定することを意味します。 0時なら前日の23時45分として計算されます。 上記のコードは、2011-02-02 00:15:00 2011-02-01 23:45:00 を出力します。 配列の後に後部と前部が続く場合は、0 以上、24 以下である必要があります。 strtotime 関数の実装の基本原則 公式ドキュメントでは、strtotime 関数について次のように説明されています。 この関数は、米国英語の日付形式を含む文字列を受け入れ、それを Unix タイムスタンプ (1970 年 1 月 1 日 00:00:00 GMT からの秒数) に解析しようとします。 )、その値は、now パラメータで指定された時刻に相対します。このパラメータが指定されていない場合は、現在のシステム時刻が使用されます。 これは、PHP4 から存在する標準の PHP 組み込み関数です。 strtotime 関数は拡張機能としてロードされ、その完全な実装は ext/date ディレクトリで入手できます。 標準組み込み関数のため、定義形式も標準です。 、 次のように:

  1. PHP_FUNCTION(strtotime)
  2. //2番目のパラメータがあるかどうかに関係なく入力を処理します
  3. //関連関数を呼び出して文字列解析と結果計算を実装します
  4. //結果を返します
  5. }
コードをコピーします

入力処理では、まず両方のパラメータが存在する状況を識別して処理し、この状態にない場合は、2番目のパラメータが存在しない状況を処理し、どちらのパラメータも存在しない場合はエラーを報告し、FALSEを返します。 1 2 次のページ 最後のページ



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。