时间戳记值(48位)来自 time.time(),精度为毫秒。>>> import ulid>>> ulid.new()<ULID('01BJQE4QTHMFP0S5J153XCFSP9')>
根据现有的128位值(例如UUID)创建新的ULID 。支持ULID值类型有 int,bytes,str,和UUID。>>> import ulid, uuid>>> value = uuid.uuid4()>>> valueUUID('0983d0a2-ff15-4d83-8f37-7dd945b5aa39')>>> ulid.from_uuid(value)<ULID('09GF8A5ZRN9P1RYDVXV52VBAHS')>
从现有时间戳值(例如datetime对象)创建新的ULID 。支持时间戳值类型有int,float,str,bytes,bytearray,memoryview,datetime,Timestamp,和ULID>>> import datetime, ulid>>> ulid.from_timestamp(datetime.datetime(1999, 1, 1))<ULID('00TM9HX0008S220A3PWSFVNFEH')>
支持随机值类型有int,float,str,bytes,bytearray,memoryview,Randomness,和ULID。>>> import os, ulid>>> randomness = os.urandom(10)>>> ulid.from_randomness(randomness)>>> <ULID('01BJQHX2XEDK0VN0GMYWT9JN8S')>
timestamp()方法将为您提供ULID的前48位的时间戳快照,而randomness()方法将为您提供后80位的随机数快照。>>> import ulid>>> u = ulid.new()>>> u<ULID('01BJQM7SC7D5VVTG3J68ABFQ3N')>>>> u.timestamp()<Timestamp('01BJQM7SC7')>>>> u.randomness()<Randomness('D5VVTG3J68ABFQ3N')>
github:https://github.com/ahawker/ulid