在Python中将日期时间转换为Unix时间戳
请帮我把一个日期时间对象(比如说:2011-12-17 11:31:00-05:00
,这个还包括时区)转换成Unix时间戳(就像Python里的time.time()函数那样)。
3 个回答
6
这个回答不太完整(没有处理时区的问题),但希望对你有帮助:
time.mktime(datetime_object.timetuple())
** 根据以下评论进行了编辑 **
在我的程序中,用户输入日期时间,并选择时区。... 我创建了一个时区列表(使用pytz.all_timezones),让用户从中选择一个时区。
Pytz模块提供了必要的转换。例如,如果dt
是你的datetime
对象,而用户选择了'US/Eastern'
import pytz, calendar
tz = pytz.timezone('US/Eastern')
utc_dt = tz.localize(dt, is_dst=True).astimezone(pytz.utc)
print calendar.timegm(utc_dt.timetuple())
参数is_dst=True
是用来解决在夏令时结束时出现的模糊时间问题(在这里可以查看 http://pytz.sourceforge.net/#problems-with-localtime)。
13
import time
import datetime
dtime = datetime.datetime.now()
ans_time = time.mktime(dtime.timetuple())
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
14
另一种方法是:
import calendar
from datetime import datetime
d = datetime.utcnow()
timestamp=calendar.timegm(d.utctimetuple())
时间戳是一个Unix时间戳,它表示与日期时间对象d相同的日期。