The first and second parameters of [MongoDate::__construct()](http://www.php.net/manual/en/mongodate.construct.php) are `$sec` and `$usec`, respectively. `microtime(true)` seems to only report four decimal places for fractions of second, while the split form of `microtime(false)` allows full microsecond precision. I suggest:

```
list($usec, $sec) = explode(' ', microtime());
$usec = (int) ($usec * 100000);
$date = new MongoDate($sec, $usec);
```