php获取当前时间戳、日期并精确到毫秒(三种方法)

2020-07-29 11:23:09
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);}

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

企业微信截图_15941001031621.png

看看结果:

企业微信截图_15941001171188.png

成功获取到了,时间戳且精确到了毫秒!---- 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);

打印结果:

企业微信截图_15941001284592.png

第三种方法: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);    }

打印结果:

企业微信截图_1594100138657.png

相关文章 大家在看