In the following code:$t = microtime(true);$now = DateTime::createFromFormat('U.u', $t);$now = $now->format("H:i:s.v");Trying to format() will return a fatal error if microtime(true) just so happened to return a float with all zeros as decimals. This is because DateTime::createFromFormat('U.u', $aFloatWithAllZeros) returns false.Workaround (the while loop is for testing if the solution works):$t = microtime(true);$now = DateTime::createFromFormat('U.u', $t);while (!is_bool($now)) {//for testing solution $t = microtime(true); $now = DateTime::createFromFormat('U.u', $t);}if (is_bool($now)) {//the problem $now = DateTime::createFromFormat('U', $t);//the solution}$now = $now->format("H:i:s.v");