# 中文日期转化为数字日期
time_ch = '二零一五年十二月三十日'
year = time_ch.split('年')[0]
month = time_ch.split('年')[1].split('月')[0]
day = time_ch.split('年')[1].split('月')[1].split('日')[0]
# 去掉"日"中的十,例如"三十一"转化为"三一"
if len(day) > 2:
day = day[0] + day[2]
# 构建对应数字转换字典
NUM = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9, '十': 10}
# 利用join对查找到的值进行连接
year = ''.join(str(NUM[i]) for i in year)
month = ''.join(str(NUM[i]) for i in month)
day = ''.join(str(NUM[i]) for i in day)
# 月处理(例如"十二"月转换为"102",只取"1"和"2")
if len(month) == 3:
month = '1' + month[2]
# 日处理(例如"二十"日转换为"210",只取"2"和"0")
if len(day) == 3:
day = day[0] + day[2]
# 将各部分进行拼接组合
new_date = (year + '年' + month + '月' + day + '日')
print(new_date)
写成函数形式:
# 中文日期转化为数字日期
def time_trans(time_ch):
year = time_ch.split('年')[0]
month = time_ch.split('年')[1].split('月')[0]
day = time_ch.split('年')[1].split('月')[1].split('日')[0]
# 去掉"日"中的十,例如"三十一"转化为"三一"
if len(day) > 2:
day = day[0] + day[2]
# 构建对应数字转换字典
NUM = {'零': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9, '十': 10}
# 利用join对查找到的值进行连接
year = ''.join(str(NUM[i]) for i in year)
month = ''.join(str(NUM[i]) for i in month)
day = ''.join(str(NUM[i]) for i in day)
# 月处理(例如"十二"月转换为"102",只取"1"和"2")
if len(month) == 3:
month = '1' + month[2]
# 日处理(例如"二十"日转换为"210",只取"2"和"0")
if len(day) == 3:
day = day[0] + day[2]
# 将各部分进行拼接组合
new_date = (year + '年' + month + '月' + day + '日')
return new_date