登录  /  注册

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

藏色散人
发布: 2020-07-07 13:38:33
转载
11813人浏览过

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(&#39;`(?<!\\\\)u`&#39;, $milliseconds, $format), $timestamp);
}
登录后复制

调用:

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

打印结果:

企业微信截图_1594100138657.png

以上就是php获取当前时间戳、日期并精确到毫秒(三种方法)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:csdn网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号