毫秒级时间戳和日期格式转换 :
<?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');