時間関連のビジネスを扱う場合、タイムスタンプの変換が必要になることがよくあります。 PHP では、タイムスタンプは通常 10 桁の整数または 13 桁の整数で表されます。10 桁の整数は 1970 年 1 月 1 日から現在時刻までの秒数を表し、13 桁の整数は 1 月からの秒数を表します。 1, 1970 ~ 現在の時刻 (ミリ秒単位)。ただし、場合によっては 13 桁のタイムスタンプを特定の日付と時刻に変換する必要があり、これには関連する PHP 関数を使用する必要があります。
1. 13 桁のタイムスタンプを取得する PHP 方法
PHP 関数 time() を使用して現在の 10 桁のタイムスタンプを取得できますが、13 桁のタイムスタンプの場合は、microtime を使用する必要があります。 () 関数。 microtime() 関数は、現在の時刻のマイクロ秒と秒数を返します。フォーマットされた出力を通じて 13 桁のタイムスタンプを取得できます。次のコードを参照してください:
<?php // 获取当前时间13位时间戳 list($msec, $sec) = explode(' ', microtime()); $timestamp = sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); echo $timestamp; ?>
このコードでは、list()関数 microtime() 関数によって返される配列内の 2 つの値、つまりマイクロ秒数と秒数を取得するために使用されます。次に、それらを加算して 1000 を掛けて、13 桁のタイムスタンプを取得します。最後に、echo ステートメントを通じてタイムスタンプが出力されます。
2. PHP は 13 桁のタイムスタンプを日付と時刻に変換します
13 桁のタイムスタンプを取得した後、date() 関数を使用して特定の日付と時刻に変換できます。 date() 関数は 2 つのパラメーターを受け入れることができます。最初のパラメーターはフォーマット文字列を表し、2 番目のパラメーターはフォーマットされるタイムスタンプを表します。次のコードを参照してください。
<?php // 将13位时间戳转换成日期和时间 $timestamp = 1607914806536; // 假设要转换的13位时间戳 $datetime = date('Y-m-d H:i:s', $timestamp/1000); echo $datetime; ?>
ここでは、変換される 13 桁のタイムスタンプが 1607914806536 ミリ秒であると仮定します。まずこれを 1000 で割って 10 桁のタイムスタンプに変換し、次に date() 関数を呼び出して Y-m-d H:i:s の形式にフォーマットする必要があります。最後に、echo ステートメントを通じて日付と時刻が出力されます。
3. PHP は日付と時刻を 13 桁のタイムスタンプに変換します
もう 1 つの一般的な要件は、特定の日付と時刻を 13 桁のタイムスタンプに変換することです。 PHP は、この要件を達成するために strtotime() 関数を提供します。 strtotime() 関数は、日付または日時文字列を受け入れて、それを Unix タイムスタンプに変換できます。次のコードを参照してください。
<?php // 将日期和时间转换成13位时间戳 $datetime = '2020-12-14 18:33:26'; // 假设要转换的日期和时间 $timestamp = strtotime($datetime) * 1000; echo $timestamp; ?>
ここでは、変換される日時が 2020-12-14 18:33:26 であると仮定します。まず strtotime() 関数を呼び出して Unix タイムスタンプに変換し、次に 1000 を乗算して 13 桁のタイムスタンプを取得します。最後に、echo ステートメントを通じて 13 桁のタイムスタンプが出力されます。
要約すると、PHP はタイムスタンプと特定の日付と時刻の間で変換するための一連の関数を提供していることがわかります。実際の開発では、ビジネス ニーズに基づいてタイムスタンプ関連の操作を実装する適切な関数を選択する必要があります。
以上がPHP で 13 桁のタイムスタンプを特定の時刻形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。