python输入日期转换格式,python 中文日期转化为数字日期
几天前,当我在做一个项目时,我遇到了一个关于日期中汉字转换的问题。通常情况下,系统获取的时间是阿拉伯数字。例如,在代码中输入以下语句:
print (datetime.datetime.now()的结果。年)将是2018年。我在这个项目中遇到的问题是将从数据库中查询到的数据添加到标准的Word认证模板中,其中认证模板的最后一个是认证日的日期。获取当天的日期本来是一件很简单的事情,但是模板要求用汉字书写时间,比如2018年9月29日。对于编程开发经验较少的我来说,当时是无所适从的。期初以为Python中会有相应的转换方法。可惜查了一下,发现没有写转换方法。我没有办法,只能自己写一个方法来实现这个目标。
在写方法之前,我整理了一下转换的思路。首先,年、月、日这三个日期单位转换成汉字后,它们的读写方式是不一样的。年份通常是根据每个数字来读的。比如今年2019,读写年份是2019,不是2019。在这种情况下,可以通过方法中的循环来转换年份的每个数字。月份和日期都是按照对应的数字来读的,比如9月29日。读写方法应该是9月29日,不是9月29日。一年中按月分为十二个月,每个月有28-31天,可分为以下几种情况:
这里声明了两个变量,即
int月
int日
月份的三种情况是Month10、Month10=10、Month10(此处默认为month0和month12,因为时间是由系统自动获取的)。
日期的四种情况是第10天、第==10天、第10天20天、第==20天和第20天(因为时间是由系统自动获取的,所以这里默认为第0天和第31天)。
确认后,具体代码如下:
#-*-编码:UTF-8-*-from _ _ future _ _ import print _ function从邮件合并导入datetime导入邮件合并date _ map={0: 0 ,1:一,2:二,3:三,4:四,5:五,6:六,7:七,8:八,9:九 } def Chinese 2d digits(num,type):str _ num=str(num)result= if type==0:for I in str _ num:result= { } { } 。format(result,Date _ map . get(int(I))if type==1:result= { } ten { } 。format(Date _ map . get(int(str _ num[0])),Date _ map . get(int(str _ num[1]))if type==2:result= ten { } 。format(date _ map . get(int(str _ num[1]))Type==3:result= ten if Type==3:result= twenty return result year=Chinese 2 digits(datetime . datetime . now()。year,0)print(year)date _ month=datetime . datetime . now()。month if date _ month==10:month=Chinese 2 digits(date _ month,3)print(month)if date _ month 10:month=Chinese 2 digits(date _ month,2)print(month)if date _ month 10:month=Chinese 2 digits(date _ month,0)print(month)date _ day=datetime . datetime . now()。dayif date _ day 10:day=Chinese 2 digits(date _ day,0)print(day)if 10 date _ day 20:day=Chinese 2 digits(date _ day,2)print(day)if date _ day 20:day=Chinese 2 digits(date _ day,1)print(day)if date _ day==10:day=Chinese 2 digits(date _ day,3)print(day)if date _ day==20:day=Chinese 2 digits(date _ day,4) print (day
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。