PHP では、タイムスタンプは 1970 年 1 月 1 日 00:00:00 UTC から経過した秒数を表す整数です。タイムスタンプは、ユーザー登録時間や注文時間など、イベントの時間を記録するためによく使用されます。
計算と表示を容易にするために、タイムスタンプを日数に変換する必要がある場合があります。タイムスタンプを日数に変換する機能を実装する 2 つの方法を次に示します。
方法 1: 日付関数を使用する
PHP の日付関数は非常に強力で、時刻の変換や書式設定に使用できます。
PHP の date() 関数を使用してタイムスタンプを日付に変換し、strtotime() 関数を使用して特定の時点の間の経過秒数を計算できます。
以下はサンプル コードです:
$timestamp = 1633420800; // 2021年10月6日 00:00:00 $days = round((time() - strtotime(date('Y-m-d', $timestamp))) / (60 * 60 * 24)); echo $days; // 输出:0
上記のコードでは、まず 10 月 6 日の 0 時を表すタイムスタンプ変数 $timestamp
を定義します。 2021 完全なタイムスタンプ。次に、date() 関数を使用して、タイムスタンプを Y-m-d
の日付文字列にフォーマットします。次に、strtotime() 関数を使用して日付文字列をタイムスタンプに変換し、現在時刻との差を計算し、最後に秒を (60 60 24) で割って日数を取得します。
注: 計算エラーを避けるために、ここではround()関数を使用して日数を最も近い整数に丸めます。また、計算時には現在時刻のタイムスタンプを使用する必要があることにも注意してください。 2021 年 10 月 6 日の午前 0 時まで 1 日を切っているため、上記のコードの出力結果は 0 になるはずです。
方法 2: フロア関数を使用する
日付形式に変換せずに大まかに日数を計算するだけの場合は、フロア関数を使用して直接日数を計算することもできます。タイムスタンプに対応します。
1633420800 を日数に変換する必要があるとします。コードは次のとおりです。
$timestamp = 1633420800; // 2021年10月6日 00:00:00 $days = floor($timestamp / (60 * 60 * 24)); echo $days; // 输出:18907
上記のコードでは、タイムスタンプを (60 60 24) で直接除算します。経過日数を取得し、floor 関数を使用して整数部分を取得します。ここでの計算結果は18907となり、18907日が経過したことになります。
概要
この記事では、PHP タイムスタンプを日数に変換する 2 つの方法を紹介します。さらに、他の日付処理関数を使用して、特定のニーズに応じて時間の変換と計算を完了することもできます。タイムスタンプ関数と日付関数の使い方をマスターすることは、PHP 開発とデータ分析にとって非常に重要です。
以上がPHPでタイムスタンプを日数に変換する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。