在並發量搞得情況下。需要開啟毫秒級運算
mysql 支持:
`create_time` datetime(3) 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; }
效果: