Python时间戳从日,月,年

时间:2012-02-10 06:52:29

标签: python datetime

是否可以使用日期对象中的日,月和年创建Python时间戳(秒数)?我基本上是在寻找午夜的时间戳(小时,分钟和秒都是0)。

谢谢!

3 个答案:

答案 0 :(得分:52)

>>> import time
>>> import datetime
>>> dt = datetime.datetime.strptime('2012-02-09', '%Y-%m-%d')
>>> time.mktime(dt.timetuple())
1328774400.0

<强> - 或 -

>>> dt = datetime.datetime(year=2012, month=2, day=9)
>>> time.mktime(dt.timetuple())
1328774400.0

对于其他时间类型,如小时和秒,请转到此处: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

答案 1 :(得分:3)

您也可以使用datetime.combine()

>>> import datetime
>>> import time
>>> date1 = datetime.date(year=2012,day=02,month=02)
>>> date2 = datetime.datetime.combine(date1,datetime.time())
>>> date2
datetime.datetime(2012, 2, 2, 0, 0)
>>> tstamp = time.mktime(date2.timetuple())
>>> tstamp
1328121000.0

结果取决于当地时区(在本例中为IST)。我希望有人能指出如何获得GMT结果

答案 2 :(得分:0)

你可以通过获取日期和纪元(1970年1月1日)之间的秒数来实现:

from datetime import datetime

epoch = datetime(1970, 1, 1)
d = datetime(2012, 2, 10)

print (d - epoch).total_seconds()