NextDate cid=1762#problem/C
日期格式:YYYYMMDD 或 YYYY-MM-DD,公元前:-YYYYMMDD 或 -YYYY-MM-DD
年份绝对值\(<=9999\)
公元前需加前缀 'BC '
import datetime
while 1:
try:
s=input()
try:
if len(s)==8:
today=datetime.datetime.strptime(s,'%Y%m%d')
nxday=today+datetime.timedelta(days=1)
print(nxday.strftime('%Y-%m-%d'))
elif len(s)==9:
if s=='-00011231':
print('0001-01-01')
elif s=='-00010229':
print('BC 0001-03-01')
elif s=='-00010228':
print('BC 0001-02-29')
else:
if s[0]=='-':
if s[5:9]=='1231':
y=int(s[1:5])-1;
y=str(y).zfill(4)
print("BC "+y+'-01-01')
else:
if s[1:5]=='0001':
today=datetime.datetime.strptime(s[1:9],'%Y%m%d')
nxday=today+datetime.timedelta(days=1)
ans='BC '+nxday.strftime('%Y-%m-%d')
print(ans)
else:
tmp=s[1:5]
y=int(s[1:5])-1
y=str(y).zfill(4)
ts=s[1:5]
s=s.replace(ts,y,1)
today=datetime.datetime.strptime(s[1:9],'%Y%m%d')
nxday=today+datetime.timedelta(days=1)
ans='BC '+tmp+'-'+nxday.strftime('%m-%d')
print(ans)
else:
print('Error !')
elif len(s)==10:
today=datetime.datetime.strptime(s,'%Y-%m-%d')
nxday=today+datetime.timedelta(days=1)
print(nxday.strftime('%Y-%m-%d'))
elif len(s)==11:
if s=='-0001-12-31':
print('0001-01-01')
elif s=='-0001-02-29':
print('BC0001-03-01')
elif s=='-0001-02-28':
print('BC0001-02-29')
else:
if s[0]=='-':
if s[6:]=='12-31':
y=int(s[1:5])-1;
y=str(y).zfill(4)
print("BC "+y+'-01-01')
else:
if s[1:5]=='0001':
today=datetime.datetime.strptime(s[1:],'%Y-%m-%d')
nxday=today+datetime.timedelta(days=1)
ans='BC '+nxday.strftime('%Y-%m-%d')
print(ans)
else:
tmp=s[1:5]
y=int(s[1:5])-1
y=str(y).zfill(4)
ts=s[1:5]
s=s.replace(ts,y,1)
today=datetime.datetime.strptime(s[1:],'%Y-%m-%d')
nxday=today+datetime.timedelta(days=1)
ans='BC '+tmp+'-'+nxday.strftime('%m-%d')
print(ans)
else:
print('Error !')
else:
print('Error !')
except:
print('Error !')
except:
break

浙公网安备 33010602011771号