
数字时间
赵露露-法国达索
2023年3月17日发(作者:hearst)时间转换(中⽂转数字)
#中⽂时间转换为****-**-**格式
defchinese2digit(text):
""""中⽂⽇期转换为数字⽇期"""
#注意:输⼊格式必须是⼆〇⼀⼆年⼗⽉⼗⼀⽇年份不能写两千零⼀⼆
chinese_to_digit_table={'零':0,'O':0,'Ο':0,'О':0,'○':0,'O':0,'0':0,'〇':0,'⼀':1,'⼆':2,'两':2,
'三':3,'四':4,'五':5,'六':6,'七':7,'⼋':8,'九':9,'⼗':10}
year=('年')[0]
month=('年')[1].split('⽉')[0]
day=('⽉')[1].split('⽇')[0]
newyear=''
newmonth=0
newday=0
foriinyear:
newyear+=str(chinese_to_digit_(i))
#⽉份只有两种格式,⼗X、X,所以只需要从头开始转化为数值并且相加就好
foriinmonth:
newmonth+=chinese_to_digit_(i)
ifnewmonth<10:
newmonth='0'+str(newmonth)
#⽇,会有三种格式,第⼀种就是⼗九以下都可以直接相加,第⼆种就是等于⼆⼗,第三种就是⼤于⼆⼗,这种的⽇期会有三个长度,只需
读取第⼀个乘以10然后再加上最后⼀个数
iflen(day)==3:
newday=chinese_to_digit_(day[0])*10+chinese_to_digit_(day[-1])
elifday=='⼆⼗':
newday=20
elifday=='三⼗':
newday=30
else:
foriinday:
newday+=chinese_to_digit_(i)
ifnewday<10:
newday='0'+str(newday)
newdate=newyear+str(newmonth)+str(newday)
if'None'innewdate:
print('原数据:',text)
print('转换后:',newdate)
print('请⾃⾏修改')
#print(newdate)
returnnewdate