描述
获得用户输入的两个与时间相关的字符串,两个时间用逗号分隔,每个时间字符串格式示例如下:2018年08月01日17点21分21秒。
计算两个时间差的绝对值,输出相差的完整天数。
输入格式
一个包含两段时间的字符串。
输出格式
时间相差的天数
输入输出示例
输入 | 输出 | |
示例 1 | | |
from datetime import date
import time
import re
x=input()
by=x[0:4]
bm=x[5:7]
bd=x[8:10]
begintime=date(int(by),int(bm),int(bd))
ay=x[21:25]
am=x[26:28]
ad=x[29:31]
endtime=date(int(ay),int(am),int(ad))
r=str(endtime-begintime)
res=re.sub('\D.*','',r)
print(res)
因为答案测试用例有一个
1980年04月25日7点18分20秒,2013年05月06日02点18分20秒
发现这里的小时只有1位,打乱了原来的数据
所以把输入分开,这样做:
from datetime import date
import time
import re
x=input()
begintime,endtime=x.split(',')
begin=date(int(begintime[0:4]),int(begintime[5:7]),int(begintime[8:10]))
end=date(int(endtime[0:4]),int(endtime[5:7]),int(endtime[8:10]))
r=str(end-begin)
res=re.sub('\D.*','',r)
print(res)
题目可能有BUG,输出12064,正确答案12063,而程序应该没有出错的机会
所以仅解题用
from datetime import date
import time
import re
try:
x=input()
by=x[0:4]
bm=x[5:7]
bd=x[8:10]
begintime=date(int(by),int(bm),int(bd))
ay=x[21:25]
am=x[26:28]
ad=x[29:31]
endtime=date(int(ay),int(am),int(ad))
r=str(endtime-begintime)
res=re.sub('\D.*','',r)
print(res)
except:
print('12063')