您现在的位置是: 网站首页>文章详情 文章详情

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

Heartless Wolf 1594540070 php 1271 收藏

简介 三种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);
   }

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

看看结果:


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


打印结果:

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


打印结果:


文章评论

    点击加载更多评论

我的名片

网名:Hello World

职业:PHP开发

现居:福建省-福州市

Email:565554856@qq.com

  • 图片信息

站点信息

  • 建站时间:2019-04-20
  • 文章总计:69条
  • 笔记总计:4条
  • 文章评论:0条
  • 笔记评论:0条
  • 当前访问IP:18.224.184.149