8

如何使用 datetime 模块在 python 中获取第一秒和最后一秒,这意味着 00:00:01 和 23:59:59。

我想得到今天之前的六个日期时间。

因此,例如:

今天 12 月 10 日,我想得到

12/9 00:00:01 和 23:59:59

...

12/4 00:00:01 和 23:59:59

非常感谢你。

4

1 回答 1

28

只需使用datetime.time.mindatetime.time.max

>>> import datetime
>>> datetime.time.min
datetime.time(0, 0)
>>> datetime.time.max
datetime.time(23, 59, 59, 999999)

您可以其与datetime.date实例结合以获得完整datetime.datetime实例:

>>> datetime.datetime.combine(datetime.date.today(), datetime.time.max)
datetime.datetime(2012, 12, 1, 23, 59, 59, 999999)

要重用现有datetime.datetime实例,请将该方法与实例上的.combine()方法一起使用以创建新实例:.date()datetime.datetimedatetime.datetime

>>> datetime.datetime.combine(datetime.datetime.now().date(), datetime.time.min)
datetime.datetime(2012, 12, 1, 0, 0)

要获取一系列日期,请使用datetime.timedelta实例创建偏移量。相对于今天的一系列日期很容易:

today = datetime.date.today()
lastweek = today - datetime.timedelta(days=7)
for i in range(7):
    aday = lastweek + datetime.timedelta(days=i)
    first = datetime.datetime.combine(aday, datetime.time.min)
    last = datetime.datetime.combine(aday, datetime.time.max)
    print first, last
于 2012-12-01T17:11:47.287 回答