免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
從0開始學(xué)python第七章-用python操作時間
阿達ada老師 2018-08-29 08:18:30

時間

在動畫片哆啦A夢里,有一集機器貓發(fā)明了時間機器。通過這個機器,可以在過去、現(xiàn)在、未來中穿梭,十分神奇。


這節(jié)課,我們學(xué)習(xí)一下用python怎么操作時間,顯示過去、現(xiàn)在、未來的時刻。

時間組成

我們知道時間是由 年月日時分秒來組成的,比如這個時間:2018-08-28 13:56:10。為了讓我們的時間能夠比較清楚的顯示,我們需要約定一個固定的格式顯示時間。比如我們舉的例子里,8月份雖然只占了一位,但是為了表示清楚,我們用08來嚴(yán)格固定月份的位置。

這樣我們的時間就可以用:年年年年-月月-日日 時時-分分-秒秒來組成了,我們經(jīng)常會有英文的縮寫來表達:YYYY-mm-dd HH:MM:SS

時間操作

那我們對時間能做哪些操作呢?

  1. 定義一個時間

  2. 將時間按照某個格式輸出

  3. 更改一個時間的天、小時等

  4. 比較時間大小

我們來看看用python怎么實現(xiàn)這些操作!

python的時間定義

  1. 獲取當(dāng)前時間

from datetime import datetimenow = datetime.now()print('now =', now)

注意看我們打印的結(jié)果:year-month-day hour:minute:second.microsecond

  1. 定義一個指定時間的日期

dt = datetime(2015, 4, 19, 12, 20)print('dt =', dt)

我們通過調(diào)用datetime函數(shù),函數(shù)參數(shù)分別傳入:年、月、日、時、分、秒來定義一個指定的時間。(后面的部分不傳代表零分零秒等)

獲取時間信息

  1. 獲取時分秒

    datetime獲取的時間會返回一個時間對象,我們可以從里面獲取對應(yīng)的:年、月、日、時、分、秒;只需要調(diào)用對應(yīng)的:now.year now.month now.day now.hour now.minute now.second即可。

  2. datetime的日期部分和時間部分

    我們知道,一個具體的時間包括:年月日的日期和時分秒的時間。這個用python里的:date、time 兩個對象來表示。

print(dt.date())print(dt.time())

  1. 增加時間 減少時間

    我們?nèi)绻胱寱r間前進一天或者后退一小時,可以使用 timedelta 模塊。先看代碼:

from datetime import datetime, timedeltacday = datetime.now()print('current datetime =', cday)print('current + 10 hours =', cday + timedelta(hours=10))print('current - 1 day =', cday - timedelta(days=1))print('current + 2.5 days =', cday + timedelta(days=2, hours=12))

我們可以直接使用類似數(shù)學(xué)加減的方式來增加時間和減少時間。注意timedelta方法的參數(shù),因為我們可以更改的部分很多(年月日時分秒),所以我們可以使用指定參數(shù)名的方式只填入要更改的部分。

顯示日期

日期的顯示方式有很多,比如:2018-08-28 13:56:102018年08月28日13點56分10秒、08月28日13點 。在python里,可以使用datetime的strftime函數(shù)來格式化一個時間,看代碼:

cday = datetime.now()print('strftime:', cday.strftime('%a, %b %d %H:%M'))

程序會輸出:strftime: Mon, Jun 01 18:19


strftime方法里傳入的參數(shù)就是我們想要讓日期展示的樣子。%a, %b %d %H:%M是日期的格式化字符。完整的格式化信息如下:

%y 兩位數(shù)的年份表示(00-99)
%Y 四位數(shù)的年份表示(000-9999)
%m 月份(01-12)
%d 月內(nèi)中的一天(0-31)
%H 24小時制小時數(shù)(0-23)
%I 12小時制小時數(shù)(01-12)
%M 分鐘數(shù)(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應(yīng)的日期表示和時間表示
%j 年內(nèi)的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(shù)(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(shù)(00-53)星期一為星期的開始
%x 本地相應(yīng)的日期表示
%X 本地相應(yīng)的時間表示
%Z 當(dāng)前時區(qū)的名稱

時間戳?

我們知道,python里有只有數(shù)字和字符串兩種基礎(chǔ)類型,那像這種年月日時分秒的日期是怎么表示的呢?

python和其他大多數(shù)編程語言一樣,用一個數(shù)字來代表時間。數(shù)字時間精確到毫秒。0就代表 1970年1月1日 00:00:00。我們怎么從一個數(shù)字構(gòu)建一個日期呢?看代碼:

# 把timestamp轉(zhuǎn)換為datetime:t = dt.timestamp(1535455200)print('timestamp -> datetime:', datetime.fromtimestamp(t))# 把datetime轉(zhuǎn)換為timestamp:print('datetime -> timestamp:', dt.timestamp())

我們使用timestamp函數(shù)從時間戳獲取時間;用timestamp函數(shù)獲取日期對應(yīng)的時間戳。

python對日期處理的函數(shù)較多,我們可以按照自己想做的事情找對應(yīng)的方法,不應(yīng)死記硬背每個函數(shù)。

小灶時間 為啥是1970年?

在講時間戳的時候,我們說0代表的時間是: 1970年1月1日 00:00:00,這是電腦的unix系統(tǒng)(linux、osx系統(tǒng)的前身)在發(fā)布的時候定義的起始時間。這個時間也叫做紀(jì)元時間(epoch time)。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何在Python中操作日期和時間
Python datetime 教程:操作時間、日期與時間跨度
python中datetime模塊中strftime/strptime函數(shù)
[快學(xué)Python3]日期和時間處理
python3 datetime和time獲取當(dāng)前日期和時間
python模塊---datetime
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服