在/usr/lib/python2.6/uuid.py内部,您会看到
def uuid1(node=None, clock_seq=None): ... nanoseconds = int(time.time() * 1e9) # 0x01b21dd213814000 is the number of 100-ns intervals between the # UUID epoch 1582-10-15 00:00:00 and the Unix epoch 1970-01-01 00:00:00. timestamp = int(nanoseconds/100) + 0x01b21dd213814000L
解决time.time()的方程,您将获得
time.time()-like quantity = ((timestamp - 0x01b21dd213814000L)*100/1e9)
因此使用:
In [3]: import uuidIn [4]: u = uuid.uuid1()In [58]: datetime.datetime.fromtimestamp((u.time - 0x01b21dd213814000L)*100/1e9)Out[58]: datetime.datetime(2010, 9, 25, 17, 43, 6, 298623)
这给出了与生成的UUID关联的日期时间
uuid.uuid1。