登录
原创

PHP获取13位时间戳

发布于 2020-11-18 阅读 2255
  • PHP
原创

前言

任何语言都有自己不同的方法来获取时间戳,如JAVA直接一个方法就可以获取到13位的时间戳,而本方讨论的是PHP如何获取到13位时间戳,PHP有方法可以直接获取到10位的时间戳time(),而13位时间戳是本文需要讨论的。

遇到的问题

最近在用PHP写代码中需要生成一个13位的时间戳,用到的方法是:

错误的方法

/**获取13位时间戳字符串
     * @return array|mixed|string
     */
    function get_total_millisecond()
    {
        $time = explode(" ", microtime());
        $time = $time [1] . ($time [0] * 1000);
        $time2 = explode(".", $time);
        $time = $time2 [0];
        return $time;
    }

上面这个方法有一个问题,microtime()生成字符串为"msec sec"格式,当msec生成格式为0.0123456这种格式的时候,就会少一位,只有12位时间戳(前10位加12这两位),是不符合要求的。

正确的方法

方法一:

function get_total_millisecond()
{
    $time = explode(" ", microtime());
    $time = ($time [1] + $time [0]) * 1000;
    $time = round($time) . '';
    return $time;
}

方法二:

function get_total_millisecond()
{
    list($t1, $t2) = explode(' ', microtime());
    return sprintf('%u', (floatval($t1) + floatval($t2)) * 1000);
    // return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
}

评论区

詹姆斯36岁了还能获得NBA总冠军,你呢?

0

0

0

举报