Python获取下一个发生时间的日期时间

超级73

我试图找到发生特定时间的NEXT日期时间。

例如:

now = datetime.datetime.now() # April 5th, 1 PM
desired_time = '14:00:00' # 2 PM
next_datetime_occurance = get_next_datetime(now, desired_time) # Returns April 5th, 2PM

now = datetime.datetime.now() # April 5th, 3 PM
desired_time = '14:00:00' # 2 PM
next_datetime_occurance = get_next_datetime(now, desired_time) # Returns April 6th, 2PM

我将如何干净地做到这一点?(假设一切都在UTC中)

布拉德·所罗门

您可以使用datetime.replace()一些日期时间算法:

import datetime as dt

def next_datetime(current: dt.datetime, hour: int, **kwargs) -> dt.datetime:
    repl = current.replace(hour=hour, **kwargs)
    while repl <= current:
        repl = repl + dt.timedelta(days=1)
    return repl

演示:

>>> now = dt.datetime.utcnow()
>>> now
datetime.datetime(2020, 5, 7, 20, 17, 21, 581402)
>>> next_datetime(now, hour=19)
datetime.datetime(2020, 5, 8, 19, 17, 21, 581402)
>>> next_datetime(now, hour=21)
datetime.datetime(2020, 5, 7, 21, 17, 21, 581402)
>>> next_datetime(now, hour=20, minute=12)
datetime.datetime(2020, 5, 8, 20, 12, 21, 581402)
>>> next_datetime(now, hour=20, minute=50)
datetime.datetime(2020, 5, 7, 20, 50, 21, 581402)

此处**kwargs设计采用的datetime()解析器参数的解析度比hour分钟,秒和微秒的解析度要高您可能需要对此进行一些验证,因为year对于这个问题,通过类似的东西是没有意义的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在特定时间后获取下一个星期日的日期?

来自分类Dev

如果不存在,熊猫将获取下一个可用的日期时间索引

来自分类Dev

Impala查询以获取下一个日期

来自分类Dev

Ruby DateTime:获取下一个5:15 pm(或类似时间)

来自分类Dev

在node-cron中获取下一个cron作业时间

来自分类Dev

Ruby DateTime:获取下一个5:15 pm(或类似时间)

来自分类Dev

获取下一个时间戳值

来自分类Dev

PHP DateTime:从特定时间戳获取下一个星期日

来自分类Dev

SQL根据事件日期从多个事件条目中获取下一个即将发生的事件

来自分类Dev

datejs:我可以获取下一个星期一并注入时间戳吗

来自分类Dev

datejs:我可以获取下一个星期一并注入时间戳吗?

来自分类Dev

如果应用程序停止,quartz 调度程序获取下一个调度程序时间

来自分类Dev

PHP:根据固定基准日期获取下一个日期

来自分类Dev

如何从Bootstrap Datepicker中的选定日期获取下一个日期

来自分类Dev

在Oracle中根据开始日期获取下一个日期

来自分类Dev

从PHP中的已知日期获取下一个即将到来的生日

来自分类Dev

JavaScript获取下一个星期二或星期五的日期(最近)

来自分类Dev

单击Android中的按钮时如何获取下一个日期?

来自分类Dev

如何获取下一个星期几的日期

来自分类Dev

获取下一个工作日的日期

来自分类Dev

从C#中距离今天更近的列表中获取下一个日期

来自分类Dev

根据给定日期的频率获取下一个到期日

来自分类Dev

单击Android中的按钮时如何获取下一个日期?

来自分类Dev

获取下一个工作日的日期

来自分类Dev

MySQL-SQL查询根据日期获取下一个类

来自分类Dev

使用Selenium IDE / javascript获取下一个日期

来自分类Dev

尝试将NSDate转换为String时获取下一个日期

来自分类Dev

Swift-从工作日中获取下一个日期

来自分类Dev

PHP - 获取下一个抽奖日期(彩票)

Related 相关文章

  1. 1

    在特定时间后获取下一个星期日的日期?

  2. 2

    如果不存在,熊猫将获取下一个可用的日期时间索引

  3. 3

    Impala查询以获取下一个日期

  4. 4

    Ruby DateTime:获取下一个5:15 pm(或类似时间)

  5. 5

    在node-cron中获取下一个cron作业时间

  6. 6

    Ruby DateTime:获取下一个5:15 pm(或类似时间)

  7. 7

    获取下一个时间戳值

  8. 8

    PHP DateTime:从特定时间戳获取下一个星期日

  9. 9

    SQL根据事件日期从多个事件条目中获取下一个即将发生的事件

  10. 10

    datejs:我可以获取下一个星期一并注入时间戳吗

  11. 11

    datejs:我可以获取下一个星期一并注入时间戳吗?

  12. 12

    如果应用程序停止,quartz 调度程序获取下一个调度程序时间

  13. 13

    PHP:根据固定基准日期获取下一个日期

  14. 14

    如何从Bootstrap Datepicker中的选定日期获取下一个日期

  15. 15

    在Oracle中根据开始日期获取下一个日期

  16. 16

    从PHP中的已知日期获取下一个即将到来的生日

  17. 17

    JavaScript获取下一个星期二或星期五的日期(最近)

  18. 18

    单击Android中的按钮时如何获取下一个日期?

  19. 19

    如何获取下一个星期几的日期

  20. 20

    获取下一个工作日的日期

  21. 21

    从C#中距离今天更近的列表中获取下一个日期

  22. 22

    根据给定日期的频率获取下一个到期日

  23. 23

    单击Android中的按钮时如何获取下一个日期?

  24. 24

    获取下一个工作日的日期

  25. 25

    MySQL-SQL查询根据日期获取下一个类

  26. 26

    使用Selenium IDE / javascript获取下一个日期

  27. 27

    尝试将NSDate转换为String时获取下一个日期

  28. 28

    Swift-从工作日中获取下一个日期

  29. 29

    PHP - 获取下一个抽奖日期(彩票)

热门标签

归档