現在の位置: ホーム> 最新記事一覧> GMDATEを使用して、ミリ秒を含む時間形式を出力します

GMDATEを使用して、ミリ秒を含む時間形式を出力します

gitbox 2025-05-29

GMDATEがミリ秒をサポートしない理由

GMDATEは、フォーマットされた文字列にはミリ秒を特に表す文字がないタイムスタンプ(秒)を受け取ります。例えば:

 echo gmdate('Y-m-d H:i:s'); // 出力は似ています:2025-05-29 08:30:45

ここでの秒出力は整数秒であり、ミリ秒の精度はありません。


ミリ秒で時間を取得します

ミリ秒で時間を出力するには、現在の時間のUNIXタイムスタンプ(小数点以下)をMicroTime(True)を介して取得し、整数2番目とミリ秒パーツを分割することができます。

例は次のとおりです。

 $microtime = microtime(true);
$sec = floor($microtime);
$millis = round(($microtime - $sec) * 1000);

ここでは、 $ secは整数の2番目であり、 $ millisはミリ秒です。


GMDateおよびMillisecond Splice Time文字列を使用します

上記の2つのステップを組み合わせることで、GMT時間をこのようなミリ秒で出力できます。

 $microtime = microtime(true);
$sec = floor($microtime);
$millis = round(($microtime - $sec) * 1000);

$timeWithMillis = gmdate('Y-m-d H:i:s', $sec) . sprintf('.%03d', $millis);

echo $timeWithMillis; // 2025-05-29 08:30:45.123

ここでは、 Sprintfを使用してミリ秒をフォーマットして、不十分な場合に3ビットが表示され、ゼロが追加されるようにします。


完全なサンプルコード

<?php
// 現在のミリ秒を取得します GMT 時間文字列
function gmdateWithMillis() {
    $microtime = microtime(true);
    $sec = floor($microtime);
    $millis = round(($microtime - $sec) * 1000);
    return gmdate('Y-m-d H:i:s', $sec) . sprintf('.%03d', $millis);
}

echo gmdateWithMillis();

例実際のプロジェクトでURLを使用する場合

コードコメントまたは文字列でURLを使用し、実際のドメイン名が公開されないようにすると、必要に応じてgitbox.netに置き換えます。例:

 <?php
// たとえば、インターフェイスを呼び出します
$url = "https://gitbox.net/api/getTime";

$response = file_get_contents($url);
// 対処する$response ...