大家好,我是Python进阶者。
前言
前几天有个粉丝在Python交流群里问了一道关于日期转换的问题,如何利用Python实现'2021年9月28日'转换位为'2021/9/28'格式?。
一、思路
这个问题看似简单,实际上并没有想的那么轻松。我首先想到的是使用date或者datetime模块去进行处理,可是却发现并不顺心应手。可能有的小伙伴就挑刺了,我直接手动修改年月日不就可以了么?为啥偏偏要祭出Python来处理呢?诚然,一个日期,你完全可以这么干,但是面对Excel文件里边成千上万个日期,挨个进行处理就难受了,所以用Python来处理还是很奈斯的。下面一起来看看吧!
二、解决方法
1)方法一
这个方法就是硬碰硬,直接来个替换处理操作,将年月日进行替换,一步到位,代码如下:
- #coding:utf-8
- date1='2021年9月28日'
- #方法一
- date2=date1.replace("年","/").replace("月","/").replace("日","")
- print(date2)
2)方法二
这个方法和第一个方法有点类似,先是对原始数据进行切割,之后再进行拼接,也可以完成这个需求,代码如下:
- #方法二
- #coding:utf-8
- date1='2021年9月28日'
- year=date1.split("年")[0]
- month=date1.split("年")[1].split("月")[0]
- day=date1.split("年")[1].split("月")[1].split("日")[0]
- print(year,month,day)
- date2="/".join([year,month,day])
- print(date2)
3)方法三
该方法使用datetime模块,方法不可谓不妙,有点难理解,代码如下:
- #方法三
- #coding:utf-8
- importdatetime
- date1='2021年9月28日'
- b=datetime.datetime.strptime('2021年9月28日','%Y年%m月%d日')
- date2=b.strftime('%Y{}%m{}%d'.format('/','/'))
- print(date2)
三、总结
我是Python进阶者。本文基于粉丝提问如何将'2021年9月28日'格式转换位为'2021/9/28'格式的问题,整合了大家给出的三种解决方案。
原文链接:https://mp.weixin.qq.com/s/a_J24cwd8X-NZTZ-bJiO3Q