首先,我们封装一个获取时间戳的方法:
第一种方法:时间戳13位
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位,自己数数。
第二种方法:时间戳浮点型
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位毫秒数
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('`(?调用:
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获取当前时间戳、日期并精确到毫秒(三种方法)的详细内容,更多请关注考高分网其它相关文章!






