使用datetime類,需要先import自帶的datetime庫
from datetime import datetime
最近在編寫小程序中,經(jīng)常需要生成當(dāng)天的日期字符串,使用方法:
In [5]: datetime.today()
Out[5]: datetime.datetime(2020, 2, 29, 13, 35, 25, 378618)
或者
In [6]: datetime.now()
Out[6]: datetime.datetime(2020, 2, 29, 13, 36, 9, 692100)
datetime類型也可以進(jìn)行"+/-"操作:
In [6]: from datetime import timedelta
In [7]: from datetime import datetime
In [8]: datetime.now() - timedelta(days=1)
Out[8]: datetime.datetime(2020, 2, 28, 13, 54, 28, 313980)
In [9]: datetime.now() + timedelta(days=1)
Out[9]: datetime.datetime(2020, 3, 1, 13, 54, 36, 882067)
這樣得到的是datetime類型,需要將其轉(zhuǎn)換為string類型,需要使用datetime類型的strftime方法:
In [9]: datetime.today().strftime('%Y%m%d')
Out[9]: '20200229'
也可以將一些不符合自己規(guī)則的字符串將其格式化,可以使用datetime類型的strptime方法:
In [1]: a="Wed, 18 Mar 2020 17:38:16 -0700"
In [2]: import datetime
In [3]: datetime.datetime.strptime(a, '%a, %d %b %Y %H:%M:%S %z')
這樣就得到了一個(gè)datetime類型
其中,strftime()方法中常用的輸出格式為:
- %y 兩位數(shù)的年份表示(00-99)
- %Y 四位數(shù)的年份表示(000-9999)
- %m 月份(01-12)
- %d 月內(nèi)中的一天(0-31)
- %H 24小時(shí)制小時(shí)數(shù)(0-23)
- %I 12小時(shí)制小時(shí)數(shù)(01-12)
- %M 分鐘數(shù)(00=59)
- %S 秒(00-59)
- %a 本地簡化星期名稱
- %A 本地完整星期名稱
- %b 本地簡化的月份名稱
- %B 本地完整的月份名稱
- %c 本地相應(yīng)的日期表示和時(shí)間表示
- %j 年內(nèi)的一天(001-366)
- %p 本地A.M.或P.M.的等價(jià)符
- %U 一年中的星期數(shù)(00-53)星期天為星期的開始
- %w 星期(0-6),星期天為星期的開始
- %W 一年中的星期數(shù)(00-53)星期一為星期的開始
- %x 本地相應(yīng)的日期表示
- %X 本地相應(yīng)的時(shí)間表示
- %Z 當(dāng)前時(shí)區(qū)的名稱
- %% %號本身
另外,time模塊也可以實(shí)現(xiàn)相應(yīng)的功能:
In [22]: import time
In [23]: time.strftime('%Y%m%d %H:%M:%S')
Out[23]: '20200229 13:49:52'