(n << 1 & 255) + (n >> 7) # 8 位
(n << 1 & (2**m - 1)) + (n >> (m - 1)) # m 位
        Date.parse(str) 是单纯的去尝试解析 str 符合某种日期的格式吧,比如"fc03bb56-6c12-48fb-b47e-4c266fe57c43"中的 "03" 被当成了 3 号。其他的:
[1] pry(main)> Date.parse 'fc03bb56-6c12-48fb-b47e-4c266fe57c43'
=> Thu, 03 Jan 2019
[2] pry(main)> Date.parse 'fc05bb56-6c12-48fb-b47e-4c266fe57c43'
=> Sat, 05 Jan 2019
[3] pry(main)> Date.parse 'fc05baug-0000-48fb-b47e-4c266fe57c43'
=> Thu, 05 Aug 0000
[4] pry(main)> Date.parse 'fc05bsep-0000-48fb-b47e-4c266fe57c43'
=> Sun, 05 Sep 0000
        那个视频太老了,Jose 本人现在也并不建议使用它,具体参见:https://elixirforum.com/t/meet-elixir-by-jose-valim-pluralsight/286/12 所以“最佳”的说法恐怕不太合适吧。