preg_replace所有小数点后超过3位数字

时间:2018-08-17 09:07:14

标签: php regex preg-replace

我要确保我的日期字符串最多包含3个小数。 我可以使用strpos查找。然后使用substr将所有内容加到该点+ 3,但是我想知道是否有更好的方法使用str_replace来做到这一点。

格式为:'2018-01-01 12:20:23.000000',但十进制数字也可以更少。

1 个答案:

答案 0 :(得分:0)

您不需要正则表达式。
使用date_create_from并将字符串转换为新的日期时间。

$date = date_create_from_format('Y-m-d H:i:s\.u', '2018-01-01 12:20:23.123000');
echo date_format($date, 'Y-m-d H:i:s\.v'); // 2018-01-01 12:20:23.123

u是微秒(1-6位数字)。
v是毫秒(3位数字)。