Python将日期时间生成为带有时间增量的字符串以生成URL

时间:2019-07-10 19:54:27

标签: python datetime

要反复调用结尾带有时间戳记的网址, 范例网址 'https://mywebApi/StartTime=2019-05-01%2000:00:00&&endTime=2019-05-01%2003:59:59'

  

StartTime = 2019-05-01%2000:00:00   是时间2019-05-01 00:00:00的URL表示

     

endTime = 2019-05-01%2003:59:59   是时间2019-05-01 00:00:00的URL表示

要求在4小时内拨打电话。 如果增加4个小时,则日期可能会更改, 是否有一种精简的方法来生成URL字符串, 像

baseUrl = 'https://mywebApi/StartTime='
startTime = DateTime(2018-05-03 00:01:00)
terminationTime = DateTime(2019-05-03 00:05:00)
while (startTime < terminationTime):
    endTime = startTime + hours(4)
    url = baseUrl+str(startTime)+"endtime="+str(startTime)
    # request get url
    startTime = startTime + hours(1)

1 个答案:

答案 0 :(得分:1)

您可以使用Datetime.timedelta以及strftime函数,如下所示:

from datetime import datetime, timedelta
baseUrl = 'https://mywebApi/StartTime='
startTime = datetime(year=2018, month=5, day=3, hour=0, minute=1, second=0)
terminationTime = datetime(year=2018, month=5, day=3, hour=3, minute=59, second=59)
while (startTime < terminationTime):
    endTime = startTime + timedelta(hours=4)
    url = baseUrl + startTime.strftime("%Y-%m-%d%20%H:%M:%S") + "endtime=" + endtime.strftime("%Y-%m-%d%20%H:%M:%S")
    # request get url
    startTime = endTime

以下链接非常有用https://www.guru99.com/date-time-and-datetime-classes-in-python.html,或者您可以查看官方的日期时间文档。

编辑:使用u / John Gordan所说的声明初始日期