在python中生成15分钟的时间间隔数组 [英] Generating 15 minute time interval array in python

查看:60
本文介绍了在python中生成15分钟的时间间隔数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试生成时间间隔数组.例如:

time_array = ["2016-09-02T17:30:00Z", "2016-09-02T17:45:00Z","2016-09-02T18:00:00Z", "2016-09-02T18:15:00Z",2016-09-02T18:30:00Z"、2016-09-02T18:45:00Z"]

  1. 它应该在祖鲁时间到每天晚上 9 点创建上述元素.
  2. 也应该为 next 和 day after next 生成元素
  3. 开始时间为上午 7:00 - 埃德时间晚上 9:00,如果 current_time > start_time 则生成 15 分钟时间间隔数组,直到晚上 9 点.然后为第二天和第二天+2生成.并且间隔应该是 7:00、7:15 那样......而不是在 7:12、8:32

解决方案

这里有一个通用的 datetime_range 供您使用.

代码

from datetime import datetime, timedeltadef datetime_range(开始、结束、增量):当前 = 开始而当前<结尾:屈服电流当前 += 增量dts = [dt.strftime('%Y-%m-%d T%H:%M Z') for dt indatetime_range(datetime(2016, 9, 1, 7), datetime(2016, 9, 1, 9+12),时间增量(分钟=15))]打印(dts)

输出

<块引用>

['2016-09-01 T07:00 Z', '2016-09-01 T07:15 Z', '2016-09-01 T07:30 Z', '2016-09-01 T07:45 Z'', '2016-09-01 T08:00 Z', '2016-09-01 T08:15 Z', '2016-09-01 T08:30 Z', '2016-09-01 T08:45 Z','2016-09-01 T09:00 Z'、'2016-09-01 T09:15 Z'、'2016-09-01 T09:30 Z'、'2016-09-01 T09:45 Z' ...]

I am trying to generate time interval array. for example:

time_array = ["2016-09-02T17:30:00Z", "2016-09-02T17:45:00Z", 
              "2016-09-02T18:00:00Z", "2016-09-02T18:15:00Z", 
              "2016-09-02T18:30:00Z", "2016-09-02T18:45:00Z"]

  1. It should create the element like above in zulu time till 9 pm everyday.
  2. Should generate the elements for next and day after next as well
  3. Start time from 7:00 am - Ed time 9:00 pm, if current_time is > start_time then generate 15 min time interval array till 9 pm. and then generate for next day and day + 2. And Interval should be 7:00, 7:15 like that.. not in 7:12, 8:32

解决方案

Here's a generic datetime_range for you to use.

Code

from datetime import datetime, timedelta

def datetime_range(start, end, delta):
    current = start
    while current < end:
        yield current
        current += delta

dts = [dt.strftime('%Y-%m-%d T%H:%M Z') for dt in 
       datetime_range(datetime(2016, 9, 1, 7), datetime(2016, 9, 1, 9+12), 
       timedelta(minutes=15))]

print(dts)

Output

['2016-09-01 T07:00 Z', '2016-09-01 T07:15 Z', '2016-09-01 T07:30 Z', '2016-09-01 T07:45 Z', '2016-09-01 T08:00 Z', '2016-09-01 T08:15 Z', '2016-09-01 T08:30 Z', '2016-09-01 T08:45 Z', '2016-09-01 T09:00 Z', '2016-09-01 T09:15 Z', '2016-09-01 T09:30 Z', '2016-09-01 T09:45 Z' ... ]

这篇关于在python中生成15分钟的时间间隔数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆