首先,我們封裝一個獲取時間戳的方法:
第一種方法:時間戳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獲取當前時間戳、日期並精確到毫秒(三種方法)的詳細內容,更多請關注TW511.COM其它相關文章!