python 年月日转换日期_python 二〇二〇年九月二十四日 汉字日期转化为数字日期...

#######二〇二〇年九月二十四日 转化为数字日期

def ChineseToDate(chineseStr):

strch1='0一二三四五六七八九十'

strch2='〇一二三四五六七八九十'

y, m, d='', '', ''

if chineseStr.find('年') > 1:

y=chineseStr[0:chineseStr.index('年')]

if chineseStr.find('月') > 1:

m=chineseStr[chineseStr.index('年') + 1:chineseStr.index('月')]

if chineseStr.find('日') > 1:

d=chineseStr[chineseStr.index('月') + 1:chineseStr.index('日')]

# 年

if len(y) == 4:

if y.find('0') > 1:

y=str(strch1.index(y[0:1])) + str(strch1.index(y[1:2])) + str(strch1.index(y[2:3])) + str(

strch1.index(y[3:4]))

else:

y=str(strch2.index(y[0:1])) + str(strch2.index(y[1:2])) + str(strch2.index(y[2:3])) + str(

strch2.index(y[3:4]))

else:

return None

# 月

if len(m) == 1:

m=str(strch1.index(m))

elif len(m) == 2:

m=str(strch1.index(m[0:1]))[0:1] + str(strch1.index(m[1:2]))

# 日

if len(d) == 1:

d=str(strch1.index(d))

elif len(d) == 2:

if len(str(strch1.index(d[0:1]))) == 1:

d=str(strch1.index(d[0:1])) + str(strch1.index(d[1:2]))[1:2]

else:

d=str(strch1.index(d[0:1]))[0:1] + str(strch1.index(d[1:2]))

elif len(d) == 3:

d=str(strch1.index(d[0:1])) + str(strch1.index(d[2:3]))

# 生成 日期

if y != '' and m != '' and d != '':

return y + '-' + m + '-' + d # datetime.date(int(y), int(m), int(d))

elif y != '' and m != '':

return y + '-' + m # datetime.date(int(y), int(m))

elif y != '':

return y

if __name__ == '__main__':

chineseStr = "二〇二〇年九月二十四日"

date = ChineseToDate(chineseStr)

print(date) # 2020-9-24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值