PHP obtient l'horodatage actuel, la date et est précis en millisecondes (trois méthodes)

藏色散人
Libérer: 2023-04-09 06:58:01
avant
12173 Les gens l'ont consulté

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);
}
Copier après la connexion

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

PHP obtient lhorodatage actuel, la date et est précis en millisecondes (trois méthodes)

看看结果:

PHP obtient lhorodatage actuel, la date et est précis en millisecondes (trois méthodes)

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

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

/**
 * 时间戳 - 精确到毫秒
 * @return float
 */
public static function getMillisecond() {
    list($t1, $t2) = explode(' ', microtime());
    return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);
}
Copier après la connexion

调用:

//时间戳
$_t  = self::getMillisecond();
dd($_t);
Copier après la connexion

打印结果:

PHP obtient lhorodatage actuel, la date et est précis en millisecondes (trois méthodes)

第三种方法: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(&#39;`(?<!\\\\)u`&#39;, $milliseconds, $format), $timestamp);
}
Copier après la connexion

调用:

/**
     * @param array       $reqData 接口传递的参数
     * @param PayMerchant $payConf object PayMerchant类型的对象
     * @return array
     */
    public static function getAllInfo($reqData, PayMerchant $payConf)
    {
        /**
         * 参数赋值,方法间传递数组
         */
        $order     = $reqData[&#39;order&#39;];
        $amount    = $reqData[&#39;amount&#39;];
        $bank      = $reqData[&#39;bank&#39;];
        $ServerUrl = $reqData[&#39;ServerUrl&#39;]; // 异步通知地址
        $returnUrl = $reqData[&#39;returnUrl&#39;]; // 同步通知地址
        //TODO: do something
        $data = array(
            &#39;mchntCode&#39;         => $payConf[&#39;business_num&#39;],
            &#39;channelCode&#39;       => $bank,
            &#39;mchntOrderNo&#39;      => $order,
            &#39;orderAmount&#39;       => $amount * 100,
            &#39;clientIp&#39;          => request()->ip(),
            &#39;subject&#39;           => &#39;goodsName&#39;,
            &#39;body&#39;              => &#39;goodsName&#39;,
            &#39;notifyUrl&#39;         => $ServerUrl,
            &#39;pageUrl&#39;           => $returnUrl,
            &#39;orderTime&#39;         => date(&#39;YmdHis&#39;),
            &#39;description&#39;       => $order,
            &#39;orderExpireTime&#39;   => date(&#39;YmdHis&#39;,time()+300),
            &#39;ts&#39;                => self::ts_time(&#39;YmdHisu&#39;),
        );
        dd($data);
    }
Copier après la connexion

打印结果:

PHP obtient lhorodatage actuel, la date et est précis en millisecondes (trois méthodes)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal