关于统计时间的datetime,0点, 23点59分59秒……

In [1]: import datetime

In [2]: now = datetime.datetime.now()

In [3]: now
Out[3]: datetime.datetime(2019, 3, 14, 10, 47, 35, 448794)

In [4]: past_24h = now - datetime.timedelta(days=1)

In [5]: past_24h
Out[5]: datetime.datetime(2019, 3, 13, 10, 47, 35, 448794)

In [6]: next_24h = now + datetime.timedelta(days=1)

In [7]: next_24h
Out[7]: datetime.datetime(2019, 3, 15, 10, 47, 35, 448794)

In [9]: yesterday_0h = datetime.datetime.strptime(str(datetime.date.today()), "%Y-%m-%d") - datetime.timedelta(days=1)

In [10]: yesterday_0h
Out[10]: datetime.datetime(2019, 3, 13, 0, 0)

In [12]: yesterday_235959 =datetime.datetime.strptime(str(datetime.date.today()), "%Y-%m-%d") - datetime.timedelta(seconds=1)


In [13]: yesterday_235959
Out[13]: datetime.datetime(2019, 3, 13, 23, 59, 59)

In [14]: today_0h = datetime.datetime.strptime(str(datetime.date.today()), "%Y-%m-%d")

In [15]: today_0h
Out[15]: datetime.datetime(2019, 3, 14, 0, 0)

In [16]: today_235959 = datetime.datetime.strptime(str(datetime.date.today()), "%Y-%m-%d") + datetime.timedelta(days=1, seconds=-1)

In [17]: today_235959
Out[17]: datetime.datetime(2019, 3, 14, 23, 59, 59)

In [19]: tomorrow_0h = datetime.datetime.strptime(str(datetime.date.today()), "%Y-%m-%d") + datetime.timedelta(days=1)
In [20]: tomorrow_0h
Out[20]: datetime.datetime(2019, 3, 15, 0, 0)

当然,你也可以使用replace来替换,这个就有点有意思了

In [26]: today_235959 = datetime.datetime.now().replace(hour=23, minute=59, second=59)
In [27]: today_235959
Out[27]: datetime.datetime(2019, 3, 14, 23, 59, 59, 731703)

In [31]: today_0h = datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)

In [32]: today_0h
Out[32]: datetime.datetime(2019, 3, 14, 0, 0)

In [34]: yesterday_0h = (now - datetime.timedelta(days=1)).replace(hour=0, minute=0, second=0, microsecond=0)
In [35]: yesterday_0h
Out[35]: datetime.datetime(2019, 3, 13, 0, 0)

以此类推

不过你要是想全部用timedelta减 也是可以的

In [75]: yesterday_0h = now - datetime.timedelta(days=1, hours=now.hour, minutes=now.minute, seconds=now.second, microseconds=now.microsecond)

In [76]: yesterday_0h
Out[76]: datetime.datetime(2019, 3, 13, 0, 0)

In [77]: tomorrow_0h = now - datetime.timedelta(days=-1, hours=now.hour, minutes=now.minute, seconds=now.second, microseconds=now.microsecond)

In [78]: tomorrow_0h
Out[78]: datetime.datetime(2019, 3, 15, 0, 0)

以此类推

当然了  还有有意思的时间的包就是arrow了 

参见:python 好用的时间模块 arrow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天马行空波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值