盘点一个`07Apr2022`格式日期转换的基础题目
共 1544字,需浏览 4分钟
·
2022-04-07 17:42
回复“资源”即可获赠Python学习资料
大家好,我是皮皮。
一、前言
前几天在Python星耀交流群有个叫【wangning】的粉丝问了一道Python日期转换的问题,这里拿出来给大家分享下,一起学习下。
![](https://filescdn.proginn.com/00e3009b930399bce64c7059b81dab64/bb8c2d007e6b8ad936a5a45ae4dab650.webp)
二、解决过程
【瑜亮老师】解答
这里给出了一个比较笨拙的方法,但是确实行之有效,使用了字符串处理+字典处理的方法。
def change(d):
month_dict={
"Apr": "-04-",
# 这里自己补全12个月
}
dd=d[5:]+month_dict.get(d1[2:5])+d1[:2]
return dd
d1="07Apr2022"
d2=change(d1)
print(d2)
如果里面的英文大小写不统一,可以用
title()
函数处理一下即可。
def change(d):
month_dict={
"Apr": "-04-",
# 这里自己补全12个月
}
dd=d[5:]+month_dict.get(d.title()[2:5])+d[:2]
return dd
d1="07apr2022"
d2=change(d1)
print(d2)
d3="07APR2022"
d4=change(d3)
print(d4)
![](https://filescdn.proginn.com/d5b7262683157454b23305c0266108d5/c0455875040f703d5dc9023a085021a9.webp)
这个方法确实可行,不过确实有点复杂,下面来看看另外一个方法。
【wangning】解答
下面这个是【wangning】大佬自己找到的方法,使用了datatime
库,完全解决问题。
import datetime
d1 = "07Apr2022"
d2 = datetime.datetime.strptime(d1,"%d%b%Y") #
print(d2)
d3 = "10APR2022"
d4 = datetime.datetime.strptime(d3,"%d%b%Y") #
print(d4)
![](https://filescdn.proginn.com/aaf496f73cf89845aca977d83b76cc26/02c875610766fb5da065af9b6df4fe6f.webp)
真的很强大:
![](https://filescdn.proginn.com/27a40cf43fdfb75387e8033d4068cc09/9e666dbb328f0d7b622e7594c9b14d73.webp)
关于它的用法,这里还有文档:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
不得不承认,这个方法还是很6的,很智能!
![](https://filescdn.proginn.com/a0d21d205e011766d7df6de4e41fba28/786cf12b36ca1e4efe06a060684846f4.webp)
三、总结
大家好,我是皮皮。这篇文章主要分享了一道Python处理日期的基础问题,针对该问题给出了具体的解析和代码演示,一共两个方法,帮助粉丝顺利解决了问题。相信肯定还有其他方法的,欢迎大家积极尝试,如果有好方法,记得也分享给我噢,我帮助分享到群里,大家一起学习交流!
日期处理库还是很强大的,基本上解决日常生活中的大部分日期问题,如果真的不会,使用字符串处理也是可行的,只不过稍微绕一些。
最后感谢【wangning】提问,感谢【瑜亮老师】和【wangning】大佬给出的具体解析和代码演示,感谢【dcpeng】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
![](https://filescdn.proginn.com/4a33db1ca0cf7338abbb3fedfca949c6/23f2796d67e5f57f20b17ef0ea1cd4b3.webp)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行