当前位置:首页 > PHP教程 > php日期 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-05 07:22:30 浏览: 评论:0 

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

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

第一种方法:时间戳13位

  1. /** 
  2.  
  3.  * 获取时间戳到毫秒 
  4.  
  5.  * @return bool|string 
  6.  
  7.  */ 
  8.  
  9. public static function getMillisecond(){ 
  10.  
  11.     list($msec$sec) = explode(' ', microtime()); 
  12.  
  13.     $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); 
  14.  
  15.     return $msectimes = substr($msectime,0,13); 
  16.  

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

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

看看结果:

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

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

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

  1. /** 
  2.  
  3.  * 时间戳 - 精确到毫秒 
  4.  
  5.  * @return float 
  6.  
  7.  */ 
  8.  
  9. public static function getMillisecond() { 
  10.  
  11.     list($t1$t2) = explode(' ', microtime()); 
  12.  
  13.     return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000); 
  14.  

调用:

  1. //时间戳 
  2.  
  3. $_t  = self::getMillisecond(); 
  4.  
  5. dd($_t); 

打印结果:

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

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

  1. /** 
  2.  
  3.  * 年月日、时分秒 + 3位毫秒数 
  4.  
  5.  * @param string $format 
  6.  
  7.  * @param null $utimestamp 
  8.  
  9.  * @return false|string 
  10.  
  11.  */ 
  12.  
  13. public static function ts_time($format = 'u'$utimestamp = null) { 
  14.  
  15.     if (is_null($utimestamp)){ 
  16.  
  17.         $utimestamp = microtime(true); 
  18.  
  19.     } 
  20.  
  21.    
  22.  
  23.     $timestamp = floor($utimestamp); 
  24.  
  25.     $milliseconds = round(($utimestamp - $timestamp) * 1000); 
  26.  
  27.    
  28.  
  29.     return date(preg_replace('`(?<!\\\\)u`'$milliseconds$format), $timestamp); 
  30.  

调用:

  1. /** 
  2.  
  3.      * @param array       $reqData 接口传递的参数 
  4.  
  5.      * @param PayMerchant $payConf object PayMerchant类型的对象 
  6.  
  7.      * @return array 
  8.  
  9.      */ 
  10.  
  11.     public static function getAllInfo($reqData, PayMerchant $payConf
  12.  
  13.     { 
  14.  
  15.         /** 
  16.  
  17.          * 参数赋值,方法间传递数组 
  18.  
  19.          */ 
  20.  
  21.         $order     = $reqData['order']; 
  22.  
  23.         $amount    = $reqData['amount']; 
  24.  
  25.         $bank      = $reqData['bank']; 
  26.  
  27.         $ServerUrl = $reqData['ServerUrl']; // 异步通知地址 
  28.  
  29.         $returnUrl = $reqData['returnUrl']; // 同步通知地址 
  30.  
  31.         //TODO: do something 
  32.  
  33.         $data = array
  34.  
  35.             'mchntCode'         => $payConf['business_num'], 
  36.  
  37.             'channelCode'       => $bank
  38.  
  39.             'mchntOrderNo'      => $order
  40.  
  41.             'orderAmount'       => $amount * 100, 
  42.  
  43.             'clientIp'          => request()->ip(), 
  44.  
  45.             'subject'           => 'goodsName'
  46.  
  47.             'body'              => 'goodsName'
  48.  
  49.             'notifyUrl'         => $ServerUrl
  50.  
  51.             'pageUrl'           => $returnUrl
  52.  
  53.             'orderTime'         => date('YmdHis'), 
  54.  
  55.             'description'       => $order
  56.  
  57.             'orderExpireTime'   => date('YmdHis',time()+300), 
  58.  
  59.             'ts'                => self::ts_time('YmdHisu'), 
  60.  
  61.         ); 
  62.  
  63.         dd($data); 
  64.  
  65.     } 

打印结果:

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

Tags: php获取当前时间戳

分享到: