在并发量搞得情况下。需要开启毫秒级运算
mysql 支持:
`create_time` datetime() DEFAULT NULL COMMENT '创建时间',
效果
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;
}
效果: