【问题标题】:create time stamps tuple python创建时间戳元组python
【发布时间】:2018-11-28 23:46:55
【问题描述】:

我想创建一个时间戳元组。 如果我在哪里定义一个函数,比如

def time_stamps(starttime,endtime,intervals):
    #start time of tuple like 08:00:00
    #End time of tuple like 21:00:00
    #With Intervals of 60 or 30 0r 90 minutes.
    #example  : if i call the function 
    #x = time_stamps(08:00:00,21:00:00,00:30:00)
    #It should generate a tuple like this
    #('08:00:00','08:30:00','09:00:00',....,'20:30:00','21:00:00)

我迷路了。请帮忙。 谢谢

【问题讨论】:

  • 你可能至少尝试过什么?
  • 此外,如果endtimestarttime 之前会怎样,比如time_stamps('1:00:00', '0:00:00', '0:01:00')
  • 如果结束时间早于开始时间,我想我们需要报错

标签: python django django-models


【解决方案1】:

使用dateutils's parser将时间字符串格式解析为datetime对象。然后我们可以很容易地根据时间增量计算计数,用它我们可以生成一个元组

from dateutil import parser
def time_stamps(starttime,endtime,intervals):
    start = parser.parse(starttime)
    end   = parser.parse(endtime)
    intervals = parser.parse(intervals) - parser.parse('00:00:00')
    count = int((end-start)/intervals)
    return tuple(( str((start+i*intervals).time()) for i in range(count+1)))

>>> time_stamps('10:00:00', '12:00:00', '00:30:00')
('10:00:00', '10:30:00', '11:00:00', '11:30:00', '12:00:00')

【讨论】:

  • 直到现在才知道 dateutil 模型。有效!!非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 2017-04-27
  • 2018-08-16
  • 2014-10-25
  • 1970-01-01
相关资源
最近更新 更多