Python中一些常见的时间转化

将字符串'2019-23-13'转化成 date类型

dateStr = '2019-23-13'
print(type(dateStr))
dateTime = datetime.date(*map(int, dateStr.split('-')))
print(dateTime)
print(type(dateTime))


->>    <class 'str'>
->>    2022-02-11
->>    <class 'datetime.date'>

 str类型的日期转换为时间戳

# 字符类型的时间
tss1 = '2022-02-28 17:53:56'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print(timeArray)
print(timeArray.tm_year)
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)

->>time.struct_time(tm_year=2022, tm_mon=2, tm_mday=28, tm_hour=17, tm_min=53, tm_sec=56, tm_wday=0, tm_yday=59, tm_isdst=-1)
->>2022
->>1646042036

 

# 传入时间戳 返回时间格式字符串  年-月-日
def time_strftime(time_stamp):
    time_tuple = time.localtime(int(time_stamp))
    time_str = time.strftime('%Y-%m-%d', time_tuple)
    return time_str


# 传入时间格式字符串  转为时间戳返回
def time_strptime(time_str):
    time_tuple = time.strptime(time_str, '%Y-%m-%d')
    timeStamp = int(time.mktime(time_tuple))

    return timeStamp


# 传入时间戳 返回时间格式字符串  年-月-日 时-分-秒
def time_strftime_long(time_stamp):
    time_tuple = time.localtime(int(time_stamp))
    time_str = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple)
    return time_str


# 传入时间格式字符串  转为时间戳返回
def time_strptime_long(time_str):
    if ':' in time_str:
        time_tuple = time.strptime(time_str, '%Y-%m-%d %H:%M:%S')
    else:
        time_tuple = time.strptime(time_str, '%Y-%m-%d')
    timeStamp = int(time.mktime(time_tuple))

    return timeStamp


# 生成uuid
def create_uuid(start_str: str):
    uu = uuid.uuid4()
    u = str(uu).replace('-', '')
    main_id = u[10:14] + u[16:19] + u[-2:]
    main_id = main_id.upper()
    main_id = start_str + main_id
    return main_id

  

posted @ 2022-02-28 17:43  长乐未央丫  阅读(131)  评论(0)    收藏  举报