Python TimeUUID

Temperature: 0 °C

蘇恆永蘇恆永
參考這一篇:
什麼時候讓用 time UUID,連結網址 

StackOverflow 有人提供了一段 code:
連結網址


public static String reorderTimeUUId(String originalTimeUUID)
    {
        StringTokenizer tokens = new StringTokenizer(originalTimeUUID, "-");
        if (tokens.countTokens() == 5)
        {
            String time_low = tokens.nextToken();
            String time_mid = tokens.nextToken();
            String time_high_and_version = tokens.nextToken();
            String variant_and_sequence = tokens.nextToken();
            String node = tokens.nextToken();

            return time_high_and_version + '-' + time_mid + '-' + time_low + '-' + variant_and_sequence + '-' + node;

        }

        return originalTimeUUID;
    }


把它翻成 python :

def getTimeUUID(uuidVar)
    # ref: http://stackoverflow.com/questions/8713873/is-python-uuid1-sequential-as-timestamps
    import uuid
    if not isinstance(uuidVar, uuid.UUID):
        uuidVar = uuid.uuid1()
    tmp = str(uuidVar)

    tokens = tmp.split("-")
    if len(tokens) == 5:
        time_low, time_mid, time_high_and_version, variant_and_sequence, node = tokens
        return time_high_and_version + '-' + time_mid + '-' + time_low + '-' + variant_and_sequence + '-' + node
    return tmp




原理是原本的 UUID (uuid1) 組合是:
time_low – time_mid – time_high_and_version – variant_and_sequence – node

轉成
time_high_and_version – time_mid – time_low – variant_and_sequence – node

這樣產生出來的 UUID 就可以按時間排序了.

三重湯城園區 Go

作者簡介

蘇恆永

重新 pickup 本能中

訪客留言

留下一些足跡證明你來拜訪過我

推薦閱讀

作者其他相關類別故事

CentOS 5 更新 openssh 7.1p2 及 openssl 1.0.1s

CentOS 5 更新 openssh 7.1p2 及 openssl 1.0.1s

最近被 highlight openssh 必須更新至 .p. CentOS 真是有夠...

vmware 的 vm 網卡如何改成固定 mac

vmware 的 vm 網卡如何改成固定 mac

http://wahlnetwork.com////...

實用的 netstat 查詢連線指令

實用的 netstat 查詢連線指令

以下是一些實用的 netstat 語法,可以檢查主機的連線數量: netstat na...

請選擇選項

執行錯誤

Hi,謝謝你的參與,但無法重複投票哦~