PHP毫秒级时间戳和日期格式转换,倒计时功能

毫秒级时间戳和日期格式转换 :

<?php
 
    $a =  get_msectime();
    $b = get_microtime_format($a*0.001);
    $c = get_data_format($b);
 
    echo $a;
    echo "<pre>";
    echo $b;
    echo "<pre>";
    echo $c;
 
    //返回当前的毫秒时间戳
    function get_msectime() {
        list($msec, $sec) = explode(' ', microtime());
        $msectime =  (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
        return $msectime;
 
     }
 
     /**
      *时间戳 转   日期格式 : 精确到毫秒,x代表毫秒
      */
     function get_microtime_format($time)
     {
        if(strstr($time,'.')){
            sprintf("%01.3f",$time); //小数点。不足三位补0
            list($usec, $sec) = explode(".",$time);
            $sec = str_pad($sec,3,"0",STR_PAD_RIGHT); //不足3位。右边补0
        }else{
            $usec = $time;
            $sec = "000";
        }
        $date = date("Y-m-d H:i:s.x",$usec);
        return str_replace('x', $sec, $date);
     }
 
      /** 时间日期转时间戳格式,精确到毫秒,
      *
      */
     function get_data_format($time)
     {
        list($usec, $sec) = explode(".", $time);
        $date = strtotime($usec);
        $return_data = str_pad($date.$sec,13,"0",STR_PAD_RIGHT); //不足13位。右边补0
        return $return_data;
     }

倒计时功能:

<?php
function countDown($time){
    $timeNow = time();
    $timeOver = strtotime($time);
    $day = intval(($timeOver-$timeNow)/86400);
    $hour = intval((($timeOver-$timeNow)%86400)/3600);
    $minute = intval(((($timeOver-$timeNow)%86400)%3600)/60);
    $second = intval(((($timeOver-$timeNow)%86400)%3600)%60);

    echo "距离回家还有 <b>{$day}</b> 天 {$hour}小时{$minute}分{$second}秒!";
}

countDown('2020-01-22 18:40:00');

猜你喜欢

转载自blog.csdn.net/hanzhuhuaa/article/details/132693868