Python中的時(shí)間函數(shù)strftime與strptime對(duì)比
strftime與strptime這兩個(gè)函數(shù),初看真是一臉懵逼,不是同一個(gè)么,對(duì)于小萌新來說,多少有點(diǎn)暈菜了,隨時(shí)可能把兩者混淆,導(dǎo)致程序報(bào)錯(cuò)或者出現(xiàn)小bug,查詢了幾個(gè)小時(shí),到最后才發(fā)現(xiàn)竟然一個(gè)字母的差別.......頓時(shí)淚崩!!!
兩個(gè)函數(shù)的區(qū)別
strftime:將給定格式的日期時(shí)間對(duì)象轉(zhuǎn)換為字符串。日期時(shí)間對(duì)象=>字符串,控制輸出格式
strptime:將字符串解析為給定格式的日期時(shí)間對(duì)象。字符串=>日期時(shí)間對(duì)象,解析字符串
strftime | strptime | |
用法 | 日期時(shí)間對(duì)象=>字符串,控制輸出格式 | 字符串=>日期時(shí)間對(duì)象,解析字符串 |
類型 | 實(shí)例方法 | 類方法 |
方法 | date; datetime; time | datetime |
用法 | strftime(format) | strptime(date_string, format) |
示例 | datetime.datetime(2006,11,21,16,30) => '2006-11-21 16:30' | "21/11/06 16:30" => datetime.datetime(2006, 11, 21, 16, 30) |
strftime函數(shù)
作用:將給定格式的日期時(shí)間對(duì)象轉(zhuǎn)換為字符串。日期時(shí)間對(duì)象=>字符串,控制日期時(shí)間對(duì)象的輸出格式,date、datetime、time對(duì)象都支持strftime(format) 方法,可用來創(chuàng)建由一個(gè)顯式格式字符串所控制的表示時(shí)間的字符串。要獲取格式指令的完整列表,查看文末列表。
用法:datetime.strftime(format)
import datetimedt=datetime.datetime(2006, 11, 21, 16, 30)dt.strftime("%Y-%m-%d %H:%M")'2006-11-21 16:30'dt.strftime("%Y-%m-%d")'2006-11-21'dt.strftime("%A, %d. %B %Y %I:%M%p")'Tuesday, 21. November 2006 04:30PM
strptime函數(shù)
作用:按照特定時(shí)間格式將字符串轉(zhuǎn)換(解析)為時(shí)間類型。返回一個(gè)由顯式格式字符串所指明的代表時(shí)間的字符串。要獲取格式指令的完整列表,查看文末列表。
語法:datetime.strptime(date_string, format)
import datetimedt=datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")print(dt)2006-11-21 16:30:00dtdatetime.datetime(2006, 11, 21, 16, 30)
現(xiàn)在小伙伴們清楚了沒有?strftime是轉(zhuǎn)換為特定格式輸出,而strptime是將一個(gè)(時(shí)間)字符串解析為時(shí)間的一個(gè)類型對(duì)象。一個(gè)是按照想要的格式,去轉(zhuǎn)換。重點(diǎn)是格式!另外一個(gè)不管什么格式,我只要把特定的時(shí)間字符串轉(zhuǎn)成時(shí)間類型即可!雖然只是一個(gè)字母之差,但是意義和側(cè)重點(diǎn)完全不一樣啊!
格式指令完整列表
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ū)的名稱% %號(hào)本身

更完整的說明閱讀原文獲取
··· END ··· 推薦閱讀: 一、Number(數(shù)字) 全面掌握Python基礎(chǔ),這一篇就夠了,建議收藏 Python基礎(chǔ)之?dāng)?shù)字(Number)超級(jí)詳解 Python隨機(jī)模塊22個(gè)函數(shù)詳解 Python數(shù)學(xué)math模塊55個(gè)函數(shù)詳解 二、String(字符串) Python字符串的45個(gè)方法詳解 Pandas向量化字符串操作 三、List(列表) 超級(jí)詳解系列-Python列表全面解析 Python輕量級(jí)循環(huán)-列表推導(dǎo)式 四、Tuple(元組) Python的元組,沒想象的那么簡單 五、Set(集合) 全面理解Python集合,17個(gè)方法全解,看完就夠了 六、Dictionary(字典) Python字典詳解-超級(jí)完整版 七、內(nèi)置函數(shù) Python初學(xué)者必須吃透這69個(gè)內(nèi)置函數(shù)! 八、正則模塊 Python正則表達(dá)式入門到入魔 筆記 | 史上最全的正則表達(dá)式 八、系統(tǒng)操作 Python之shutil模塊11個(gè)常用函數(shù)詳解 Python之OS模塊39個(gè)常用函數(shù)詳解 九、進(jìn)階模塊 【萬字長文詳解】Python庫collections,讓你擊敗99%的Pythoner 高手如何在Python中使用collections模塊 ↓掃描關(guān)注本號(hào)↓
