你可以截断你的st_date
以小时生成序列之前:
st_date = st_date.replace(minute=0, second=0, microsecond=0)
举例来说,如果你使用内置datetime
模块:
import datetime
# initialize the start and end date
st_date = datetime.datetime.now()
en_date = st_date + datetime.timedelta(days = 2.2)
diff = en_date - st_date
# truncate the start date to hours
st_date = st_date.replace(minute=0, second=0, microsecond=0)
# generate sequence
sel=[st_date + datetime.timedelta(hours = xx) for xx in range(0, diff.days*24 + diff.seconds/3600)]
sel
#[datetime.datetime(2016, 12, 29, 21, 0),
# datetime.datetime(2016, 12, 29, 22, 0),
# datetime.datetime(2016, 12, 29, 23, 0),
# datetime.datetime(2016, 12, 30, 0, 0),
# datetime.datetime(2016, 12, 30, 1, 0),
# datetime.datetime(2016, 12, 30, 2, 0),
# datetime.datetime(2016, 12, 30, 3, 0),
# datetime.datetime(2016, 12, 30, 4, 0),
# datetime.datetime(2016, 12, 30, 5, 0),
# datetime.datetime(2016, 12, 30, 6, 0),
# datetime.datetime(2016, 12, 30, 7, 0),
# datetime.datetime(2016, 12, 30, 8, 0),
# ...]
此代码不完整。 –