好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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);
    }

打印结果:

以上就是php获取当前时间戳、日期并精确到毫秒(三种方法)的详细内容!

查看更多关于php获取当前时间戳、日期并精确到毫秒(三种方法)的详细内容...

  阅读:55次