PHP コードを作成するときは、時間に関連した問題に対処する必要があることがよくあります。日時はタイムスタンプの形式で保存および送信されることが多いため、タイムスタンプはさまざまなアプリケーションやシステム間でバッチで変換する必要があります。この記事では、PHPでタイムスタンプの一括変換を実装する方法を紹介します。
タイムスタンプは、コンピュータ システムで日付と時刻を表す方法です。これは、1970 年 1 月 1 日の 0:00:00 GMT から経過した秒数を表す数値です。たとえば、タイムスタンプ 1533145278 は、1970 年 1 月 1 日の 0:00:00 から 1533145278 秒経過後の時間を意味します。
PHP では、date() 関数と strtotime() 関数を使用して、タイムスタンプと日付時刻を相互に変換できます。
2.1 date() 関数
date() 関数は、タイムスタンプを特定の日付と時刻の形式に変換できます。構文は次のとおりです。
string date ( string $format [, int $timestamp = time() ] )
このうち、$format パラメータは日付と時刻の形式文字列です。 , $timestamp オプションのタイムスタンプです。タイムスタンプが指定されていない場合、デフォルトは現在のシステム時刻です。
たとえば、次のコードはタイムスタンプ 1533145278 を「2018-08-01 09:14:38」の形式に変換します。
$timestamp = 1533145278; $datetime = date('Y-m-d H:i:s', $timestamp); echo $datetime; //输出:2018-08-01 09:14:38
2.2 strtotime() function
strtotime() 関数は、日時フォーマット文字列を対応するタイムスタンプに変換できます。構文は次のとおりです。
int strtotime ( string $time [, int $now = time() ] )
このうち、$time パラメータは日付と時刻の形式文字列です。 , $now はオプションのタイムスタンプです。タイムスタンプが指定されていない場合、デフォルトは現在のシステム時刻です。
たとえば、次のコードは、日付と時刻の文字列「2018-08-01 09:14:38」をタイムスタンプ 1533145278 に変換します。
$datetime = '2018-08-01 09:14:38'; $timestamp = strtotime($datetime); echo $timestamp; //输出:1533145278
実際の開発では、配列内の複数のタイムスタンプを特定の日付と時刻の形式に変換したり、配列内の複数の日付と時刻の文字列をタイムスタンプに変換したりする必要がある場合があります。バッチ変換を実現するには、PHP の配列走査関数 foreach() を使用して配列要素を走査し、各要素のタイムスタンプと日時を変換します。
3.1 タイムスタンプの日付と時刻へのバッチ変換
次のコードは、タイムスタンプ配列を日付と時刻の形式にバッチ変換する方法を示しています。
$timestamps = [1533145278, 1553528551, 1585061157]; $datetimes = []; foreach ($timestamps as $timestamp) { $datetime = date('Y-m-d H:i:s', $timestamp); $datetimes[] = $datetime; } print_r($datetimes);
出力は次のとおりです。 :
Array ( [0] => 2018-08-01 09:14:38 [1] => 2019-03-25 15:15:51 [2] => 2020-03-24 01:52:37 )
3.2 日付と時刻のタイムスタンプへのバッチ変換
次のコードは、日付と時刻の文字列の配列をタイムスタンプにバッチ変換する方法を示しています。
$datetimes = ['2021-01-01 00:00:00', '2022-02-02 02:02:02', '2023-03-03 03:03:03']; $timestamps = []; foreach ($datetimes as $datetime) { $timestamp = strtotime($datetime); $timestamps[] = $timestamp; } print_r($timestamps);概要
以上がPHPでタイムスタンプをバッチ変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。