ホームページ  >  記事  >  バックエンド開発  >  PHPでタイムスタンプをバッチ変換する方法

PHPでタイムスタンプをバッチ変換する方法

PHPz
PHPzオリジナル
2023-03-29 11:34:481163ブラウズ

PHP コードを作成するときは、時間に関連した問題に対処する必要があることがよくあります。日時はタイムスタンプの形式で保存および送信されることが多いため、タイムスタンプはさまざまなアプリケーションやシステム間でバッチで変換する必要があります。この記事では、PHPでタイムスタンプの一括変換を実装する方法を紹介します。

  1. タイムスタンプの定義

タイムスタンプは、コンピュータ システムで日付と時刻を表す方法です。これは、1970 年 1 月 1 日の 0:00:00 GMT から経過した秒数を表す数値です。たとえば、タイムスタンプ 1533145278 は、1970 年 1 月 1 日の 0:00:00 から 1533145278 秒経過後の時間を意味します。

  1. タイムスタンプの変換

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
  1. タイムスタンプのバッチ変換

実際の開発では、配列内の複数のタイムスタンプを特定の日付と時刻の形式に変換したり、配列内の複数の日付と時刻の文字列をタイムスタンプに変換したりする必要がある場合があります。バッチ変換を実現するには、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);

概要
  1. この記事では、PHP でタイムスタンプのバッチ変換を実装する方法を紹介します。 date() 関数と strtotime() 関数を使用すると、タイムスタンプと日付時刻を相互に簡単に変換できます。また、配列トラバーサル関数 foreach() を使用すると、複数のタイムスタンプまたは日付時刻をバッチ変換することもできます。実際の開発でもよく使われるテクニックですので、初心者の方やPHP愛好家の方の参考になれば幸いです。

以上がPHPでタイムスタンプをバッチ変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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