文章目录
背景代码1. `datetime`如何转换成日期字符串2. 日期字符串如何转换成`datetime`背景
我们在平常写代码的过程中最常遇到的就是形如-05-12
,/05/21
等的文本字符串,这两串还算是比较规范的写法,不规范的甚至还有-5-12,.5.12五花八门,只有想不到,没有写不出来,让人甚是头疼.这一篇会简单介绍
datetime
如何转换成日期字符串日期字符串如何转换成datetime
代码
1.datetime
如何转换成日期字符串
有一定python经验的人都知道,datetime.datetime
是python的一个类,一般通过isinstance
函数来判断
>>> import datetime>>> now = datetime.datetime.now() # 当前时间>>> isinstance(now,datetime.datetime)True
我在将列表或数组写到文件中的时候,就经常会因为遇到这种类型且没有进行转换而报错
现在在上一份代码的基础上,将datetime
转换成我们常见的日期字符串,以进行写入或者其他展示操作
>>> date = now.strftime('%Y-%m-%d')>>> date'-05-12'
我理解strftime
是str from time的缩写,表示将日期时间转换为文本.在转换的时候,对应格式化字符如下表(大小写敏感)
如果转换成日期时间,完整的写法如下
>>> import datetime>>> now = datetime.datetime.now()>>> time = now.strftime('%Y-%m-%d %H:%M:%S')>>> time'-05-12 20:45:34'
2. 日期字符串如何转换成datetime
一般从别处获取到的日期数据,都是文本格式存储的
>>> import datetime>>> date = '-05-12'>>> dt = datetime.datetime.strptime(date,'%Y-%m-%d')>>> dtdatetime.datetime(,5,12,0,0)
strptime
我理解是 str parse time,意即将文本转换成标准的日期时间的格式.当然这个函数还不够简化,因为它需要你告诉它日期时间的格式
如果需要再将datetime
转换成时间戳timestamp
格式,可以参见我之前的文章
Python中timestamp和日期时间的转换
补充个知识点,parse
在javaScript
里面非常常见,例如强制转换类型的函数parseInt
,parseFloat
,例如解析json的函数是JSON.parse()