To modify milliseconds and microseconds use next formats:



<?php

$a = new \ DateTimeImmutable ( '2018-01-01 00:00:00.000' );

$b = $a -> modify ( '9 msec' );

var_dump ( $b -> format ( 'Y-m-d H:i:s.u' ));

?>



Returns string(26) "2018-01-01 00:00:00.009000"



<?php

$a = new \ DateTimeImmutable ( '2018-01-01 00:00:00.000' );

$b = $a -> modify ( '9 usec' );

var_dump ( $b -> format ( 'Y-m-d H:i:s.u' ));

?>



Returns "2018-01-01 00:00:00.000009"