現在の位置: ホーム> 最新記事一覧> PHPで13ビットタイムスタンプを取得する2つの方法

PHPで13ビットタイムスタンプを取得する2つの方法

gitbox 2025-07-30

PHPで13ビットタイムスタンプを取得する2つの方法

タイムスタンプを取得することは、開発中の一般的な要件です。一般的に、私たちの一般的なタイムスタンプは10桁です。つまり、1970年1月1日の0:00:00から現在までの秒数です。ただし、一部のアプリケーションシナリオでは、13ビットタイムスタンプなど、より正確なタイムスタンプが必要です。

13ビットのタイムスタンプは、1970年1月1日の0:00:00から現在の瞬間まで経過したミリ秒の数を表しています。以下に、PHPで13ビットタイムスタンプを取得するための2つの方法を紹介します。

方法1:MicroTime()関数を使用します

PHPのMicroTime()関数は、現在のマイクロ秒およびタイムスタンプを返すことができます。真のパラメーターをmicroTime()に渡すことにより、フローティング小数を取得して、簡単な処理で13ビットのタイムスタンプに変換できます。

 
// 得る13ビットタイムスタンプ
$timestamp = microtime(true) * 1000;
$timestamp = intval($timestamp);

コード分析:最初に、MicroTime(True)を呼び出して現在のマイクロ秒数を取得し、1000を掛けてミリ秒に正確な値を取得します。次に、intval()関数を使用して整数形式に変換し、13ビットのタイムスタンプになります。

方法2:DateTimeクラスを使用します

別の方法は、PHPの組み込みのDateTimeクラスを使用して13ビットのタイムスタンプを取得することです。この方法には比較的長いコードがありますが、より直感的で理解しやすいです。

 
// 得る13ビットタイムスタンプ
$datetime = new DateTime();
$timestamp = $datetime->format('U') * 1000 + $datetime->format('u') / 1000;
$timestamp = intval($timestamp);

コード分析:最初にDateTimeオブジェクトを作成し、次にFormat()メソッドを使用してUNIXタイムスタンプ(つまり、10ビットタイムスタンプ)を取得し、1000を掛けてミリ秒パートを取得し、1000でマイクロ秒パーツを追加し、最後に13ビットのタイムスタンプを取得します。

どちらの方法でも、正確な13ビットタイムスタンプを取得するのに役立ちます。選択する方法は、特定のニーズと個人的な好みに依存します。