PHP はオープンソースのサーバーサイドスクリプト言語として広く使われており、さまざまな計算や処理を簡単に実行できる便利な機能やメソッドが豊富にあります。中でもタイムスタンプは非常によく使われる時刻表現方法で、1970年1月1日0時0分0秒から現在までの秒数を表します。 PHP では、タイムスタンプと特定の時刻の間で簡単に変換できます。
1. 時間をタイムスタンプに変換する
PHP では、time() 関数を使用して、現在の時間をタイムスタンプに変換できます。この関数にはパラメータがないため、直接呼び出すことができます。コードは次のとおりです。
$timestamp = time(); echo $timestamp;
上記のコードによって出力される結果は、現在の時刻のタイムスタンプです。
strtotime() 関数を使用して、特定の時刻をタイムスタンプに変換することもできます。この関数はパラメータとして時刻文字列を受け取り、その時刻のタイムスタンプを返します。コードは次のとおりです。
$time = "2021-06-10 12:30:00"; $timestamp = strtotime($time); echo $timestamp;
上記のコードによって出力される結果は、タイムスタンプ 2021-06-10 12:30:00 です。
2. タイムスタンプを時刻に変換する
PHP では、date() 関数を使用してタイムスタンプを特定の時刻に変換できます。この関数には 2 つのパラメータがあり、最初のパラメータは時刻形式、2 番目のパラメータはタイムスタンプです。コードは次のとおりです。
$timestamp = time(); $time = date("Y-m-d H:i:s", $timestamp); echo $time;
上記のコードによって出力される結果は、現在時刻の特定の時刻形式です。
3. タイムスタンプをより読みやすい時間に変換する
実際の開発では、タイムスタンプを「今」、「1 時間」など、より読みやすい時間に変換する必要があることがよくあります。この前」など。この機能は、PHP での簡単な計算と判断によって実現できます。
まず、タイムスタンプをパラメータとして受け取り、より読みやすい時刻を返す関数を定義します。コードは次のとおりです。
function get_time_diff($timestamp){ $current_time = time(); $time_diff = $current_time - $timestamp; if($time_diff < 60){ return "刚刚"; }else if($time_diff < 3600){ return floor($time_diff/60)."分钟前"; }else if($time_diff < 86400){ return floor($time_diff/3600)."小时前"; }else{ return date("Y-m-d H:i:s", $timestamp); } }
上記のコードでは、まず現在時刻と指定されたタイムスタンプ間の時間差を計算し、次にいくつかの条件ステートメントを使用して、どのような結果を返すかを決定します。
次に、この関数を呼び出し、テストするタイムスタンプ パラメーターを渡します。コードは次のとおりです。
$timestamp = time() - 3600; echo get_time_diff($timestamp);
上記のコードの出力結果は「1 時間前」です。
4. まとめ
以上はPHPでタイムスタンプを変換する方法で、特定の時刻はtime()関数とstrtotime()関数によってタイムスタンプに変換され、date( ) 関数は、特定の時刻をタイムスタンプに変換するために使用されます。タイムスタンプを特定の時刻に変換し、カスタム関数を使用してタイムスタンプをより読みやすい時刻に変換します。実際の開発では、ニーズに応じてさまざまな変換方法を選択できます。
以上がPHPのタイムスタンプと特定の時刻形式の間の変換について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。