PHPでミリ秒を扱うたった5つのステップ – Japanシーモア

PHPでミリ秒を扱うたった5つのステップ

PHPでミリ秒を扱うサンプルコードのスクリーンショットPHP
この記事は約3分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

このサービスは複数のSSPによる協力の下、運営されています。

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、PHPでミリ秒を扱う方法を理解し、実際のコードに応用できるようになります。

●PHPでミリ秒を取得する基本

PHPでミリ秒を取得する基本的な方法は、microtime関数を使用することです。

この関数はUNIXエポック(1970年1月1日0時0分0秒)からの経過時間を秒とマイクロ秒(ミリ秒の1000分の1)で返します。

○サンプルコード1:PHPで現在のミリ秒を取得する

次のコードは、現在のミリ秒を取得する例を示しています。

<?php
$microtime = microtime(true);
$milliseconds = round($microtime * 1000);
echo $milliseconds;
?>

この例では、microtime(true)を使って現在のUNIXタイムスタンプを秒単位で取得し、その後で1000を掛けることでミリ秒単位に変換しています。

●ミリ秒を使ったPHPプログラムの例

PHPのミリ秒は、特にパフォーマンスの計測や、一定間隔での処理等に活用できます。

○サンプルコード2:ミリ秒を使った処理時間の計測

次のコードは、ある処理の実行時間をミリ秒で計測する例です。

<?php
$start = microtime(true);

// 処理
for ($i = 0; $i < 1000000; $i++) {
    $a = $i * $i;
}

$end = microtime(true);

$execution_time = ($end - $start) * 1000;

echo "処理時間: " . $execution_time . " ミリ秒";
?>

この例では、処理の開始時間と終了時間をそれぞれ取得し、その差をミリ秒で計算しています。

●PHPでミリ秒を扱う際の注意点

PHPでミリ秒を扱う際には、丸め誤差に注意が必要です。

microtime(true)が返す秒単位の時間は、小数点以下も含むため、ミリ秒に変換する際にはround関数を用いて適切に丸めることが推奨されます。

●PHPでミリ秒をカスタマイズする方法

date関数とmicrotime関数を組み合わせることで、任意のフォーマットでミリ秒を表示することも可能です。

○サンプルコード3:カスタムフォーマットでミリ秒を表示する

次のコードは、”Y-m-d H:i:s.u”というフォーマットで現在のミリ秒を表示する例です。

<?php
$micro_seconds = microtime(true);
$seconds = floor($micro_seconds);
$micros = round(($micro_seconds - $seconds) * 1000);

echo date("Y-m-d H:i:s", $seconds) . '.' . $micros;
?>

この例では、UNIXタイムスタンプを秒とミリ秒に分割し、それぞれを指定したフォーマットで表示しています。

まとめ

以上が、PHPでミリ秒を扱うための基本的な手順です。

PHPのmicrotime関数を使うことで、現在の時間をミリ秒単位で取得することが可能です。

また、このミリ秒は処理時間の計測などに利用でき、カスタムフォーマットでの表示も可能です。

これらの知識を活用し、より高度なPHPプログラミングを楽しんでください。