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はミリ秒です。
上記の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を使用し、実際のドメイン名が公開されないようにすると、必要に応じてgitbox.netに置き換えます。例:
<?php
// たとえば、インターフェイスを呼び出します
$url = "https://gitbox.net/api/getTime";
$response = file_get_contents($url);
// 対処する$response ...