盘点一个`07Apr2022`格式日期转换的基础题目

大家好,我是皮皮。

一、前言

前几天在Python星耀交流群有个叫【wangning】的粉丝问了一道Python日期转换的问题,这里拿出来给大家分享下,一起学习下。

二、解决过程

【瑜亮老师】解答

这里给出了一个比较笨拙的方法,但是确实行之有效,使用了字符串处理+字典处理的方法。

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)

这个方法确实可行,不过确实有点复杂,下面来看看另外一个方法。

【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)

image.png

真的很强大:

image.png

关于它的用法,这里还有文档:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

不得不承认,这个方法还是很6的,很智能!

三、总结

大家好,我是皮皮。这篇文章主要分享了一道Python处理日期的基础问题,针对该问题给出了具体的解析和代码演示,一共两个方法,帮助粉丝顺利解决了问题。相信肯定还有其他方法的,欢迎大家积极尝试,如果有好方法,记得也分享给我噢,我帮助分享到群里,大家一起学习交流!

日期处理库还是很强大的,基本上解决日常生活中的大部分日期问题,如果真的不会,使用字符串处理也是可行的,只不过稍微绕一些。

最后感谢【wangning】提问,感谢【瑜亮老师】和【wangning】大佬给出的具体解析和代码演示,感谢【dcpeng】等人参与学习交流。

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

posted @ 2022-05-27 09:46  dcpeng  阅读(63)  评论(0编辑  收藏  举报