分享
定制
該篇的內(nèi)容是關于python中時間的不同表達方式,以及它們間的相互轉(zhuǎn)換和函數(shù)封裝。先來舉個栗子:給你一個時間戳282758400.0 ,請告訴我這一天是什么重要日子?
你肯定是一臉懵逼!如果換成是這樣的表達呢: 1978-12-18 00:00:00' 嗯,1978年的字眼,恍然大悟,今年是改革開放40周年呀!祖國萬歲,萬萬歲! 所以到這,你大致明白本文要做的事情了:介紹時間模塊(time模塊、datetime模塊);表達方式轉(zhuǎn)換。 (一)類型: time模塊,是python封裝較早的模塊,其中時間表現(xiàn)的格式主要有三種: timestamp時間戳,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。 例如:282758400 struct_time時間元組,共有九個元素組。這是計算機可以操作的形式。 例如:(tm_year=1978, tm_mon=12, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=352, tm_isdst=-1) format time 格式化時間,已格式化的結(jié)構(gòu)使時間更具可讀性。包括自定義格式和固定格式 例如:'1978-12-18 00:00:00' (二)轉(zhuǎn)換: 關于3者間的轉(zhuǎn)換,網(wǎng)上有很好的總結(jié)了!這里借用一篇博客中的轉(zhuǎn)換圖來說明。 這個轉(zhuǎn)換像極了我們數(shù)學中用的三角轉(zhuǎn)換,這里簡單地將前面的例子做個轉(zhuǎn)換展示: 結(jié)果為: 稍微改進點的話,可以間轉(zhuǎn)換打包為函數(shù),如定義一個str2stamp函數(shù):輸入字符格式的時間,返回時間戳。至于其它的轉(zhuǎn)換也類似,并且簡單的。 Datetime模塊 Datetime模塊相比time模塊是封裝的更晚,各有所長,用起來非常方便。它把python面向?qū)ο缶幊痰母拍畋磉_地更好。它包括date,time,datetime,timedelta等幾個對象操作。 date類 today=datetime.date.today() 輸出2019-01-05 它有一系列的方法和屬性可以直接調(diào)用,是非常方便的地方。比如說: d1 = date(2011,06,03)#date對象 d1.year、date.month、date.day:年、月、日; d1.replace(year, month, day):生成一個新的日期對象,用參數(shù)指定的年,月,日代替原有對象中的屬性。(原有對象仍保持不變) d1.timetuple():返回日期對應的time.struct_time對象; d1.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推; d1.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推; d1.isocalendar():返回格式如(year,month,day)的元組; d1.isoformat():返回格式如'YYYY-MM-DD’的字符串; d1.strftime(fmt):和time模塊format相同。 但這里有一個問題,我們不是碼農(nóng),不可能去記憶這么多的屬性和方法呀,解決這個問題的話大家知道使用dir()函數(shù)就歐克了print(dir(today)) 里面有給出了各種屬性,學過英語的都看得懂,即使不懂可以針對地baidu,問題不大! 2.time類 t1 = datetime.time(10,23,15)#time對象 time類和date幾乎一樣,就是把日期換成時間 3.datetime類 datetime結(jié)合了date和time的屬性,在平常使用中屬于最常見的。以now()函數(shù)來舉個列子。 time_1978=datetime.datetime.fromtimestamp(282758400) 輸出為: 常見屬性為: datetime.today():返回一個表示當前本地時間的datetime對象; datetime.now([tz]):返回一個表示當前本地時間的datetime對象,如果提供了參數(shù)tz,則獲取tz參數(shù)所指時區(qū)的本地時間; datetime.utcnow():返回一個當前utc時間的datetime對象;#格林威治時間 datetime.fromtimestamp(timestamp[, tz]):根據(jù)時間戮創(chuàng)建一個datetime對象,參數(shù)tz指定時區(qū)信息; datetime.utcfromtimestamp(timestamp):根據(jù)時間戮創(chuàng)建一個datetime對象; datetime.combine(date, time):根據(jù)date和time,創(chuàng)建一個datetime對象; datetime.strptime(date_string, format):將格式字符串轉(zhuǎn)換為datetime對象; 4.類型轉(zhuǎn)換 舉個典型的例子吧,看著low,但挺實用! beginDate='2018-10-11 13:13:13' endDate='2018-10-12 14:13:13 'format = "%Y-%m-%d %H:%M:%S" starttime = datetime.datetime.strptime(beginDate, format) endtime = datetime.datetime.strptime(endDate, format) ret = endtime -starttime print(ret.days,ret.seconds,ret.total_seconds()) print(dir(ret) 非常方便的是datetime時間格式是可以直接做加減的,并且可以輸出相應的屬性,也可以dir()查看。 主要參考資料 https://www.cnblogs.com/tkqasn/p/6001134.html https://www.bilibili.com/video/av33968980?from=search&seid=11081533365567747283 https://www.imooc.com/learn/317
print(today)
# print(dir(today))
t1.hour、t1.minute、t1.second時、分、秒
time_now=datetime.datetime.now()
print(time_now)
print(dir(time_now))
【使用錘子簡歷小程序制作簡歷】
零經(jīng)驗實習簡歷模板
21254人用過
學生求職簡歷模板
52754人用過
申請研究生簡歷模板
2324人用過
經(jīng)典工作簡歷模板
6254人用過
投行咨詢簡歷模板
12465人用過
產(chǎn)品經(jīng)理簡歷模板
7532人用過
程序員簡歷模板
7457人用過
留學英文簡歷模板
4554人用過