产生指定时间区间序列、按指定单位变化时间 python实现

示例1:给定起始日期和结束日期,如何得到中间的时间序列

import datetime
def dateRange(beginDate, endDate):
    dates = []
    dt = datetime.datetime.strptime(beginDate, "%Y%m%d%H")
    date = beginDate[:]
    while date <= endDate:
        dates.append(date)
        dt = dt + datetime.timedelta(hours=1)
        date = dt.strftime("%Y%m%d%H")
    return dates


if __name__ == '__main__':
    print dateRange("2016010100", "2016040124")

具体日期格式可以自己定义;

示例2:比当前时间多加1天

import datetime
def dateRange(beginDate, endDate):
    dates = []
    dt = datetime.datetime.strptime(beginDate, "%Y%m%d%H")
    date = beginDate[:]
    while date <= endDate:
        dates.append(date)
        dt = dt + datetime.timedelta(1)  #注意这里的变化
        date = dt.strftime("%Y%m%d%H")
    return dates


if __name__ == '__main__':
    print dateRange("2016010100", "2016040124")

示例3:比当前时间多加1小时

import datetime
def dateRange(beginDate, endDate):
    dates = []
    dt = datetime.datetime.strptime(beginDate, "%Y%m%d%H")
    date = beginDate[:]
    while date <= endDate:
        dates.append(date)
        dt = dt + datetime.timedelta(hours=1) #注意这里的变化
        date = dt.strftime("%Y%m%d%H")
    return dates


if __name__ == '__main__':
    print dateRange("2016010100", "2016040124")

示例4:比当前时间多加1分钟

import datetime
def dateRange(beginDate, endDate):
    dates = []
    dt = datetime.datetime.strptime(beginDate, "%Y%m%d%H")
    date = beginDate[:]
    while date <= endDate:
        dates.append(date)
        dt = dt + datetime.timedelta(minutes=1) #注意这里的变化
        date = dt.strftime("%Y%m%d%H")
    return dates


if __name__ == '__main__':
    print dateRange("2016010100", "2016040124")

猜你喜欢

转载自www.cnblogs.com/zhibei/p/9584806.html