#coding:utf-8 import re from datetime import datetime, timezone, timedelta def to_timestamp(dt_str, tz_str): user_datetime = datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S") print(user_datetime) rs = '[0-9]*(?=:)' # rs = '+[0-9]*(?=:)|-[0-9]*(?=:)' rc = re.compile(rs) time_zone = re.search(rc,tz_str).group(0) print(time_zone) user_datetime = user_datetime.replace(tzinfo=timezone.utc) if('+' in tz_str): user_datetime=user_datetime.astimezone(timezone(timedelta(hours=int(time_zone)))) elif('-' in tz_str): user_datetime=user_datetime.astimezone(timezone(timedelta(hours=-int(time_zone)))) # utc_time = user_datetime.timestamp() print(user_datetime.utcoffset()) time_naive = user_datetime.replace(tzinfo=None) - user_datetime.utcoffset() timestamp = (time_naive - datetime(1970,1,1)).total_seconds() return timestamp t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00') print(t1)
我的Python32不能使用datetime.timestamp()的方式求timestamp(),在网上找到一种方式,然而这种方式输出结果不是1433121030.0。请问这是什么原因?
Sign in to make a reply
lfwan恋歌
我的Python32不能使用datetime.timestamp()的方式求timestamp(),在网上找到一种方式,然而这种方式输出结果不是1433121030.0。请问这是什么原因?