PHP毫秒、微妙时间戳的生成和格式化字符串

阅读448评论0

别听百度,让你用一个复杂的函数去生成毫秒/微秒的时间戳,PHP自带的有,多看看PHP官方的文档吧。

DEMO:

$t1=microtime();
$t2=microtime(true);

$t3=sprintf('%0.3f', $t2);
$t4=sprintf('%0.6f', $t2);

$dt=new DateTime;

echo '<pre>';
echo 't1='.$t1.'<br>';
echo 't2='.$t2.'<br><br>';

echo 't3格式化(3位小数)<br>';
$dt->modify('@'.$t3);
echo $dt->format('Y年m月d日 H时i分s秒 v毫秒 u微秒').'<br>';
echo $dt->format('Uv').'<br>';
echo $dt->format('Uu').'<br><br>';

echo 't4格式化(6位小数)<br>';
$dt->modify('@'.$t4);
echo $dt->format('Y年m月d日 H时i分s秒 v毫秒 u微秒').'<br>';
echo $dt->format('Uv').'<br>';
echo $dt->format('Uu').'<br><br>';

$d1='2023-02-22 10:39:55.123456';
echo $d1.'<br>';
$dt=$dt->createFromFormat('Y-m-d H:i:s.u', $d1);
echo 'd1的微秒级时间戳<br>';
echo $dt->format('Uu');

执行结果:

t1=0.27139800 1677120463
t2=1677120463.2714

t3格式化(3位小数)
2023年02月23日 02时47分43秒 271毫秒 271000微秒
1677091663271
1677091663271000

t4格式化(6位小数)
2023年02月23日 02时47分43秒 271毫秒 271405微秒
1677091663271
1677091663271405

2023-02-22 10:39:55.123456
d1的微秒级时间戳
1677033595123456