Python 时间模块

假设你获取了用户输入的日期和时间如2015-1-21 9:01:30,以及一个时区信息如UTC+5:00,均是str,请编写一个函数将其转换为timestamp:

# -*- coding:utf-8 -*-

import re
from datetime import datetime, timezone, timedelta

def to_timestamp(dt_str, tz_str):
    #从字符串转化为时间格式
    time=datetime.strptime(dt_str,'%Y-%m-%d %H:%M:%S')
    #正则切片得到时区的整数
    get_utc=int(re.split(r'^UTC([+-]\d+):\d+$',tz_str)[1])
    #设置为指定时区
    time=time.replace(tzinfo=timezone(timedelta(hours=get_utc)))
    s=time.timestamp()
    return s



# 测试:
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
assert t1 == 1433121030.0, t1

t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2

print('ok')

 

你可能感兴趣的:(python)