获取时间戳(秒、毫秒、微秒、纳秒)

<?php
/**
 * 当前时间的Unix时间戳(毫秒,13位数字)
 *
 * @return float Unix时间戳(毫秒,13位数字)
 */
function time_milli()
{
    list($msec, $sec) = explode(' ', microtime());
    return (float)sprintf('%.0f', ((float)$msec + (float)$sec) * 1000);
}

/**
 * 当前时间的Unix时间戳(微秒,16位数字)
 *
 * @return float Unix时间戳(微秒,16位数字)
 */
function time_micro()
{
    $microtime = microtime();
    return substr($microtime, 11, 10) . substr($microtime, 2, 6);
}

/**
 * 当前时间的Unix时间戳(纳秒,19位数字)
 * 重要提醒:函数体中的hrtime()函数需要PHP版本7.3+,否则需要安装hrtime扩展。
 *
 * @return string Unix时间戳(纳秒,19位数字)
 */
function time_nano()
{
    $hrtime = hrtime(true);
    $microtime = microtime(true) * 1.0E9;
    $nanotime = hrtime(true) + $microtime - $hrtime;
    return number_format($nanotime, 0, '', '');
}

echo ' 秒(10位数字):' . time() . PHP_EOL;
echo '毫秒(13位数字):' . time_milli() . PHP_EOL;
echo '微秒(16位数字):' . time_micro() . PHP_EOL;
echo '纳秒(19位数字):' . time_nano() . PHP_EOL;

Copyright © 2024 码农人生. All Rights Reserved