前几日遇到一个Python编程题,需要遍历从开始时间点到结束时间点,以秒(s)为单位的所有时间点。
比如开始时间为“2017年11月11日1点1分1秒”,结束时间为“2017年11月11日1点1分22秒”
操作主要依靠python的datetime标准库
# 导入datetime库
import datetime
# 创建开始时间点和结束时间点
d1 = datetime.datetime(2017,11,11,1,1,1)
d2 = datetime.datetime(2014,11,11,1,1,22)
# 获取时间间隔
delta = d2 - d1
# 遍历获得每一个时间点
for i in range(delta.seconds+1):
print(d1 + datetime.timedelta(seconds=i))
当两个datetime.datetime格式的数据相减的时候会产生一个datetime.timedelta格式的间隔数据,这种类型的数据可以返回间隔秒,分,小时,天等为单位的间隔。
我们这里是用的秒为单位,所以先返回时间间隔数,再在遍历的时候加入以秒为单位的时间间隔。
输出结果如下图所示:
ps:补充 time转化为datetime的方法
s1 = '20140515'
a = time.strptime(s1,'%Y%m%d')
print(a[:6])
d = datetime(*a[:6])
print(d)