def to_timestamp(dt_str, tz_str): dt_time = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S') m = re.match('UTC([+-])(\d+):(\d+)',tz_str) sign = m.group(1) # 获取正负号 hour = int(sign+m.group(2)) # 如果时区为正,设置hour为正值;时区为负,则设置为负值 minute = int(sign+m.group(3)) # minute与hour同理 tz_utc_8 = timezone(timedelta(hours=hour,minutes=minute)) dt_time = dt_time.replace(tzinfo=tz_utc_8) #强制设置时区,并将返回的新的datatime对象赋给dt_time return dt_time.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 t3 = to_timestamp('2015-5-30 11:10:30', 'UTC+06:30') assert t3 == 1432960830.0,t3 print('ok')
这个写的好,考虑到了时区带半小时的情况
Sign in to make a reply
易水滨需要换个CPU