UNIX タイムスタンプは、日付と時刻を保存するためのコンパクトで簡潔な方法です。これは、ほとんどの UNIX システムで現在の日付と時刻を保存する方法であり、ほとんどのコンピューター言語で日付と時刻を表すための標準形式です。グリニッジ標準時を 32 ビット整数として表します。たとえば、証明書 11230499325 を使用して現在時刻のタイムスタンプを表します。 UNIX タイムスタンプは、1970 年 1 月 1 日の午前 0 時 (UTC/GMT 午前 0 時) から現在時刻までの経過秒数です。 1970 年 1 月 1 日の 0 時がすべての日付計算の基礎となり、通常はこの日付が UNIX エポックになります。
UNIX タイムスタンプは 32 ビットの数値形式であるため、2 つの時点の間の日数を計算するなど、コンピューター処理に特に適しています。さらに、文化や地域の違いにより、時間形式やタイムゾーンの問題も異なります。したがって、UNIX タイムスタンプもタイムゾーンに従って標準化されるように設計されたユニバーサル形式であり、この形式は任意の形式に簡単に変換できます。また、UNIX タイムスタンプは 32 ビット証明書で表されるため、1902 年より前または 2038 年以降のイベントを処理するときにいくつかの問題が発生します。また、Windows ではタイムスタンプに負の値を指定できないため、PHP が提供するタイムスタンプ関数を使用して 1970 年より前の日付を処理するとエラーが発生します。 PHP コードを移植可能にするには、この点に留意する必要があります。
日付と時刻をUNIXタイムスタンプに変換します
PHP では、日付と時刻を UNIX タイムスタンプに変換する必要がある場合、mktime() 関数を呼び出すことができます。この関数のプロトタイプは次のようになります:
英語テキストの日付と時刻の記述を UNIX タイムスタンプに直接解析する必要がある場合は、strtotime() 関数を使用できます。この関数の円は次のとおりです。
コードをコピーします
注: 指定された年が 2 桁形式の場合、その値 0 ~ 69 は 2000 ~ 2069 年を意味し、70 ~ 100 は 1970 ~ 2000 年を意味します。
日付計算
PHP で 2 つの日付間の長さを計算する最も簡単な方法は、2 つの UNIX タイムスタンプ間の差を計算することです。たとえば、HTML フォームからユーザーの生年月日を受け取り、ユーザーの年齢を計算する PHP スクリプトです。以下に示すように:
上記のスクリプトでは、mktime() 関数を呼び出すとユーザーの生年月日が UNIX タイムスタンプに変換され、次に time() 関数を呼び出して現在の時刻の UNIX タイムスタンプを取得します。日付形式は整数で表現されるため、減算することができます。計算後に得られたUNIXタイムスタンプを年間の秒数で割って、UNIXタイムスタンプを年単位に変換します。