007、python 根据时间来生成唯一的字符串

 

一、python 根据时间来生成唯一的字符串

 

import datetime
import random
from time import time

# 我们很多时候,特别是在生成任务的时候,都需要一个唯一标识字符串来标识这个任务,
# 比较常用的有生成uuid或者通过时间来生成。uuid的话可以直接通过uuid模块来生成。
# 如果是时间的话,可以这么写:


def tid_maker_1():
    return '{0:%Y%m%d%H%M%S%f}'.format(datetime.datetime.now())

# 这里的时间精确到了微妙,一般来说不会重复,如果想更安全点,可以在后面多加几个随机字符,例如:


# 推荐用tid_maker_2生成时间戳字符串。
def tid_maker_2():
    return '{0:%Y%m%d%H%M%S%f}'.format(datetime.datetime.now()) + ''.join(
        [str(random.randint(1, 10)) for i in range(5)])


def tid_maker_3():
    timestamp = int(time())  # 获取当前的时间戳,每个时间戳都以自从1970年1月1日午夜(历元)经过了多少秒来表示。
    return str(timestamp)


print(tid_maker_1())
print(tid_maker_2())

for i in range(5):
    print(tid_maker_3())

执行结果如下:

20210928184549981659
2021092818454998165997947
1632825949
1632825949
1632825949
1632825949
1632825949

Process finished with exit code 0

 

posted @ 2021-09-28 18:36  空-山-新-雨  阅读(379)  评论(0编辑  收藏  举报