温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用php获取当前时间戳、日期并精确到毫秒

发布时间:2020-07-28 11:48:32 来源:亿速云 阅读:375 作者:Leah 栏目:编程语言

今天就跟大家聊聊有关如何使用php获取当前时间戳、日期并精确到毫秒,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

首先,我们封装一个获取时间戳的方法:

第一种方法:时间戳13位

/**
 * 获取时间戳到毫秒
 * @return bool|string
 */
public static function getMillisecond(){
    list($msec, $sec) = explode(' ', microtime());
    $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
    return $msectimes = substr($msectime,0,13);
}

其次,调用这个方法,并打印结果:

如何使用php获取当前时间戳、日期并精确到毫秒

看看结果:

如何使用php获取当前时间戳、日期并精确到毫秒

成功获取到了,时间戳且精确到了毫秒!---- 13位,自己数数。

第二种方法:时间戳浮点型

/**
 * 时间戳 - 精确到毫秒
 * @return float
 */
public static function getMillisecond() {
    list($t1, $t2) = explode(' ', microtime());
    return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}

调用:

//时间戳
$_t  = self::getMillisecond();
dd($_t);

打印结果:

如何使用php获取当前时间戳、日期并精确到毫秒

第三种方法:14位年月日时分秒+3位毫秒数

/**
 * 年月日、时分秒 + 3位毫秒数
 * @param string $format
 * @param null $utimestamp
 * @return false|string
 */
public static function ts_time($format = 'u', $utimestamp = null) {
    if (is_null($utimestamp)){
        $utimestamp = microtime(true);
    }
 
    $timestamp = floor($utimestamp);
    $milliseconds = round(($utimestamp - $timestamp) * 1000);
 
    return date(preg_replace('`(?<!\\\\)u`', $milliseconds, $format), $timestamp);
}

调用:

/**
     * @param array       $reqData 接口传递的参数
     * @param PayMerchant $payConf object PayMerchant类型的对象
     * @return array
     */
    public static function getAllInfo($reqData, PayMerchant $payConf)
    {
        /**
         * 参数赋值,方法间传递数组
         */
        $order     = $reqData['order'];
        $amount    = $reqData['amount'];
        $bank      = $reqData['bank'];
        $ServerUrl = $reqData['ServerUrl']; // 异步通知地址
        $returnUrl = $reqData['returnUrl']; // 同步通知地址
        //TODO: do something
        $data = array(
            'mchntCode'         => $payConf['business_num'],
            'channelCode'       => $bank,
            'mchntOrderNo'      => $order,
            'orderAmount'       => $amount * 100,
            'clientIp'          => request()->ip(),
            'subject'           => 'goodsName',
            'body'              => 'goodsName',
            'notifyUrl'         => $ServerUrl,
            'pageUrl'           => $returnUrl,
            'orderTime'         => date('YmdHis'),
            'description'       => $order,
            'orderExpireTime'   => date('YmdHis',time()+300),
            'ts'                => self::ts_time('YmdHisu'),
        );
        dd($data);
    }

打印结果:

如何使用php获取当前时间戳、日期并精确到毫秒

看完上述内容,你们对如何使用php获取当前时间戳、日期并精确到毫秒有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI