<?php /* * Created on 2018-03-12 毫秒级时间 * Programmer : andy * Develop a project PHP - mysql - Apache */ namespace Common\Model; class MsecTimeModel { /** * desc 返回当前的毫秒时间戳 */ function getMsectime() { list($msec, $sec) = explode(‘ ‘, microtime()); $msectime = (float)sprintf(‘%.0f‘, (floatval($msec) + floatval($sec)) * 1000000); return $msectime; } /** *desc 时间戳 转 日期格式 : 精确到毫秒,x代表毫秒 */ function getMicrotimeFormat($time) { $time=$time*0.000001; if(strstr($time,‘.‘)){ sprintf("%01.6f",$time); //小数点。不足6位补0 list($usec, $sec) = explode(".",$time); $sec = str_pad($sec,6,"0",STR_PAD_RIGHT); //不足6位。右边补0 }else{ $usec = $time; $sec = "000000"; } $date = date("Y-m-d H:i:s.x",$usec); return str_replace(‘x‘, $sec, $date); } /** * @desc 时间日期转时间戳格式,精确到毫秒 */ function getDataFormat($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; } /** *desc 获取当前时间 精确到秒 */ function getCurrenMsecTime() { return $this->getMicrotimeFormat($this->getMsectime()); } /** *desc 时间毫秒级改为到秒 */ function getTimeByMsecTime($MsecTime) { $time=strtotime($MsecTime); if(empty($MsecTime) or $MsecTime==null or $time==0) return ‘0000-00-00 00:00:00‘; return date(‘Y-m-d H:i:s‘,$time); } } ?>