Discuss / Python / 随便写了个,好像没问题

随便写了个,好像没问题

Topic source

_Dvel

#1 Created at ... [Delete] [Delete and Lock User]
import re
from datetime import datetime, timezone, timedelta

def to_timestamp(dt_str, tz_str):
    dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
    g = re.match(r'[utcUTC]{3}([\+\-])(\d+)\:(\d+)', tz_str)
    if g.group(1) == '+':
        dt = dt.replace(tzinfo=timezone(timedelta(hours=int(g.group(2)), minutes=int(g.group(3)))))
    else:
        dt = dt.replace(tzinfo=timezone(timedelta(hours=-int(g.group(2)), minutes=int(g.group(3)))))
    return dt.timestamp()

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('Pass')

  • 1

Reply