我有一个变量,保存YYYYMMDDHMMSS格式的时间信息(而不是当前时间(。
我有起点和终点。比方说"20210419000100"one_answers"20210419130100"。从开始到结束要13个小时。
我想每15分钟保存一个字符串。即我们从"20210419000100"开始,15分钟后将是"2021041900 1600"。
显然,它并不总是+1500。我知道这是一个很长的机会,但有没有一个工具可以做到这一点,或者我如何以一种通用的方式做到这一点将适用于我选择的任何起点?如果更容易的话,它只能以HHMMSS格式完成,但如果可能的话,我希望年/月/日也能更改。
我对python解决方案更感兴趣。
python dateutil来拯救!
from dateutil import parser, relativedelta
START_DATE = '20210419000100'
END_DATE = '20210419130100'
start = parser.parse(START_DATE)
end = parser.parse(END_DATE)
while start < end:
print(start.strftime("%Y%m%d%H%M%S"))
start += relativedelta.relativedelta(minutes=15)
无需安装其他依赖项,可以使用python的标准datetime
模块
from datetime import datetime, timedelta
time_str = '20210419000100'
time_obj = datetime.strptime(time_str, '%Y%m%d%H%M%S')
print(time_obj)
# 2021-04-19 00:01:00
# If you want to add hours or minutes
def seconds(h = 0, m = 0, s = 0):
return h * 3600 + m * 60 + s
time_obj += timedelta(0, seconds(m=15)) # days, seconds
print(time_obj)
# 2021-04-19 00:16:00
# In case you want to convert it back
new_time_str = time_obj.strftime("%Y%m%d%H%M%S")
print(new_time_str)
# 20210419001600