php语言编写的id生成规则解读

首次接触MongoDB,一方面希望能对他有个较为深入的了解,另一方面可以解决我工作过程中数据准备的问题提高效率。不曾想倒在第一步,PHP语言编写的id生成规则,尝试解读发现方法的引用摸不清楚头脑,希望可以帮忙解读一下,感激不尽。

// 距2015年的微秒, 60年范围内
$nowmics = explode(' ', microtime());
$sec = substr('00' . base_convert(substr(($nowmics[1] - 1420041600), -9), 10, 36), -6);
$msec = substr('00' . base_convert(substr($nowmics[0], 2, -2), 10, 36), -4);

// 最后一位随机产生
return $prev_char . $sec . $msec . base_convert(mt_rand(0, 35), 10, 36) . base_convert(mt_rand(0, 35), 10, 36);