亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python對(duì)日期時(shí)間處理

系統(tǒng) 1747 0

python處理時(shí)間的模塊有三個(gè):datetime,time,calendar;datetime模塊主要是用來表示日期的,就是我們常說的年月日時(shí)分秒,calendar模塊主要是用來表示年月日,是星期幾之類的信息,time模塊主要側(cè)重點(diǎn)在時(shí)分秒,粗略從功能來看,
我們可以認(rèn)為三者是一個(gè)互補(bǔ)的關(guān)系,各自專注一塊。

1,time模塊
1.1 時(shí)間的獲取、表示、轉(zhuǎn)換
time模塊獲取時(shí)間的基本方法:tt = time.time() # 1559201353.5570097
得到的是時(shí)間戳,即1970年1月1日0點(diǎn)(時(shí)間基準(zhǔn)點(diǎn)epoch)到現(xiàn)在的秒數(shù)(浮點(diǎn)數(shù)),用的是UTC時(shí)間。

1.2 將時(shí)間戳轉(zhuǎn)換為年月日時(shí)分秒格式
有兩個(gè)轉(zhuǎn)換方式,一個(gè)是UTC時(shí)間,一個(gè)是所在時(shí)區(qū)進(jìn)行調(diào)整后的時(shí)間,得到的是struct_time
time.gmtime(tt)
st = time.localtime(tt)
#UTC時(shí)間輸出:time.struct_time(tm_year=2019, tm_mon=5, tm_mday=30, tm_hour=7, tm_min=29, tm_sec=13, tm_wday=3, tm_yday=150, tm_isdst=0)
#當(dāng)?shù)貢r(shí)間輸出:time.struct_time(tm_year=2019, tm_mon=5, tm_mday=30, tm_hour=15, tm_min=29, tm_sec=13, tm_wday=3, tm_yday=150, tm_isdst=0)

1.3 將struct_time轉(zhuǎn)換為秒數(shù)
calendar.timegm()方法用來把UTC的struct_time(gmtime的返回對(duì)象)轉(zhuǎn)為從epoch開始的秒數(shù)
time.mktime()用來把用時(shí)區(qū)調(diào)整過的struct_time(即localtime的返回對(duì)象)對(duì)象轉(zhuǎn)為從epoch開始的秒數(shù)

1.4 在時(shí)間和表示時(shí)間的字符串之間進(jìn)行轉(zhuǎn)換
time模塊中的strftime和strptime就是做這個(gè)用的。
看名字大家就應(yīng)該知道它們的含義,
strftime 即 string format time,用來將時(shí)間格式化成字符串;
strptime 即string parse time,用來將字符串解析成時(shí)間。需要注意的是,這里的時(shí)間都是struct_time對(duì)象。
ss = time.strftime(’%y/%m/%d %H:%M:%S’,st)
r# 19/05/30 15:29:13
time.strptime(ss,’%y/%m/%d %H:%M:%S’)
r# time.struct_time(tm_year=2019, tm_mon=5, tm_mday=30, tm_hour=15, tm_min=29, tm_sec=13, tm_wday=3, tm_yday=150, tm_isdst=-1)

1.5 簡(jiǎn)單轉(zhuǎn)換方式
asctime用來將一個(gè)struct_time對(duì)象轉(zhuǎn)為標(biāo)準(zhǔn)24字符的字符串,如下所示:Sun Jun 20 23:21:05 1993;
ctime方法與asctime作用相同,只不過它接收的是秒數(shù),在內(nèi)部,會(huì)先把秒數(shù)通過localtime轉(zhuǎn)為struct_time,再往后就與asctime一樣了。
time.asctime(st)
time.ctime(tt)
r# Thu May 30 15:29:13 2019

2, datetime模塊
簡(jiǎn)單說,該模塊核心的類就三個(gè),date類表示年月日,time類表示時(shí)分秒毫秒,這里不要和time模塊搞混淆了。
2.1 創(chuàng)建datetime對(duì)象
dt=datetime.datetime.fromtimestamp(time.time())
以上,time.time()獲得自epoch開始的秒數(shù),fromtimestamp方法會(huì)將這個(gè)秒數(shù)轉(zhuǎn)變成一個(gè)datetime對(duì)象。
這個(gè)datetime對(duì)象究竟是utc的還是local的?
答案是local的,這是該方法的默認(rèn)行為。如果你在fromtimestamp方法中傳入一個(gè)表示時(shí)區(qū)的參數(shù),即tzinfo對(duì)象,就會(huì)按傳入的時(shí)區(qū)信息進(jìn)行轉(zhuǎn)換。

獲得表示當(dāng)前l(fā)ocal時(shí)間的datetime對(duì)象,還有兩個(gè)簡(jiǎn)便方法:
datetime. datetime. now()
datetime. datetime. today()
以上我們得到的都是local的datetime對(duì)象,如何獲得utc的datetime對(duì)象呢?
有兩個(gè)辦法:
datetime.datetime.utcfromtimestamp(time.time())
r# 2019-05-30 16:29:47.819607
datetime.datetime.utcnow()

2.2 從字符串中創(chuàng)建datetime對(duì)象
方法為datetime.striptime(date_string, format)
其內(nèi)部還是先調(diào)用的time模塊中的striptime方法,獲取struct_time對(duì)象,再利用struct_time對(duì)象中的年月日時(shí)分秒信息構(gòu)建datetime對(duì)象。
同樣的,datetime類也提供了strftime(),asctime(),ctime()方法,相信不說你也知道是做什么的了。
datetime類還提供了一個(gè)combine方法,用來將一個(gè)date對(duì)象和一個(gè)time對(duì)象組合成一個(gè)datetime對(duì)象。
需要注意的是,datetime模塊中出現(xiàn)timestamp時(shí),一般可將其理解成time.time()返回的秒數(shù)

2.3 date和time的創(chuàng)建
date對(duì)象的創(chuàng)建和datetime非常相似,
datetime.date.today()
datetime.date.fromtimestamp()都可以創(chuàng)建一個(gè)date對(duì)象。
當(dāng)然,你也可以通過構(gòu)造方法傳入年月日來創(chuàng)建date對(duì)象。
相比之下,time對(duì)象的創(chuàng)建就很有限,只能通過datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]])這個(gè)方法創(chuàng)建

3,時(shí)間的加減
python中可以方便地對(duì)date對(duì)象之間,或者datetime對(duì)象之間進(jìn)行小于(<)比較和減法(-)操作。
注意,這里僅限于同類對(duì)象之間,而且,不包括time對(duì)象之間。
兩個(gè)date對(duì)象作減,或者兩個(gè)datetime對(duì)象之間作減,差值用一個(gè)timedelta對(duì)象表示。
dt = datetime.datetime.fromtimestamp(time.time())
dt1 = dt - datetime.timedelta(seconds=10)
r# 2019-05-30 16:45:23.642651
r# 2019-05-30 16:45:13.642651

4,pandas中對(duì)時(shí)間的處理
數(shù)據(jù)處理中經(jīng)常遇到時(shí)間的處理,pandas也有相應(yīng)的模塊。
將string轉(zhuǎn)換為時(shí)間格式:pd.to_datetime(strtime)
su = pd.to_datetime(‘2019-05-29 16:45:23’)
r# 2019-05-29 16:45:23
提取日期等信息
df[‘begintime’].dt.hour()


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 免费看片aⅴ免费大片 | 麻豆久久久久久久 | 久久99精品久久久久久 | www亚洲成人 | 99视频国产精品 | 久久国产精品高清一区二区三区 | 成人影院一区二区三区 | 亚洲日本一区二区三区高清在线 | 女人18免费毛片视频 | 亚洲日产综合欧美一区二区 | 亚洲美女在线观看播放 | 国产精品亚洲综合一区在线观看 | 99爱在线观看精品视频 | 国产成人综合久久综合 | 精品国产一区二区三区久 | 欧美成人精品一区二区 | 国产精品视频色拍拍 | 色老老精品偷偷鲁 | 欧美成人在线视频 | 国产成人午夜精品影院游乐网 | 国产精品视频一区牛牛视频 | 欧洲成人免费视频 | 欧美香蕉在线 | 狠狠色噜噜狠狠狠狠91 | 精品无人乱码区1区2区3区 | 欧美极品福利视频在线播放 | 国产永久一区二区三区 | 精品国产三级 | 久久久国产亚洲精品 | 午夜国产福利在线观看 | 美女超爽久久久久网站 | 中文国产日韩欧美视频 | 欧美日韩激情在线一区二区 | 精品在线小视频 | 久久九九精品一区二区 | 日本中文字幕在线观看 | 五月婷婷激情四射 | 四虎影视大全 | 国产精品a在线观看香蕉 | 国内精品福利在线视频 | 中文一级片 |