精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python中的時間處理大總結

開發 后端
python中處理時間的模塊有三個,datetime, time,calendar,融匯貫通三個模塊,才能隨心所欲地用python處理時間。本文就是為此而寫,文章著重點在于梳理出三個模塊的設計脈絡,便于大家記憶里面的api。在需要的時候能夠去查找相應的方法。但由于calendar模塊使用不多,限于篇幅,本文沒有涉及。

python中處理時間的模塊有三個,datetime, time,calendar,融匯貫通三個模塊,才能隨心所欲地用python處理時間。本文就是為此而寫,文章著重點在于梳理出三個模塊的設計脈絡,便于大家記憶里面的api。在需要的時候能夠去查找相應的方法。但由于calendar模塊使用不多,限于篇幅,本文沒有涉及。

Python中的時間處理大總結

1,概述

datetime模塊主要是用來表示日期的,就是我們常說的年月日時分秒,calendar模塊主要是用來表示年月日,是星期幾之類的信息,time模塊主要側重點在時分秒,粗略從功能來看,我們可以認為三者是一個互補的關系,各自專注一塊。方便用戶依據不同的使用目的選用趁手的模塊。

2,從time模塊說起

為了學習time模塊,我們需要先知道幾個與時間相關的概念:

1),epoch

假設我們要將時間表示成毫秒數,比方說1000000毫秒,那有一個問題必須解決,這個1000000毫秒的起點是什么時間,也就是我們的時間基準點是什么時間?好比我說你身高1.8米,那這個身高是指相對于你站立的地面說的。這個時間基準點就是epoch,在Unix系統中,這個基準點就是1970年1月1日0點整那個時間點。

2),GMT, UTC

上面我們說epoch表示1970年的起始點,那這個1970年又是相對于哪個基準時間呢?一般來說,就是相對于格林尼治時間,也叫做GMT(Greenwich Mean Time)時間,還叫做UTC(Coordinated Universal Time),為啥一個時間基準有兩個名字?歷史上,先有的GMT,后有的UTC.

UTC是我們現在用的時間標準,GMT是老的時間計量標準。UTC是根據原子鐘來計算時間,而GMT是根據地球的自轉和公轉來計算時間。

所以,可以認為UTC是真正的基準時間,GMT相對UTC的偏差為0。

在實際中,我們的計算機中有一個硬件模塊RCT,里面會實時記錄UTC 時間,該模塊有單獨的電池供電,即使關機也不影響。

有了epoch這個時間基準,又有了UTC這個基準的基準,我們就可以精確地表示一個時間了。

3),DST, tzone

盡管我們已經可以精確地表示一個時間,很多情況下,我們還是要根據地區實際情況對時間進行一個調整,最常見的就是時區,tzone,相信大家都比較熟悉。

此時,當我們說5點5分這個時間時,還需加上是哪個時區的5點5分才能精確說明一個時間。

另外一個對時間做出調整的就是DST.

DST 全稱是Daylight Saving Time,是說,為了充分利用日光,減少用電,人為地對時間做出一個調整,這取決于不同國家和地區的政策法規。比如說,假設你冬天7點天亮起床,但夏天6點天亮,那么在夏天到來時人為將時間加1個小時,這樣就可以讓你還是覺得7點起床,但實際上是提前一個小時了。

那么,好奇的我們,一定要問一問,python是如何知道tzone和DST這兩個的值呢?答案是通過環境變量。

這里我們只以linux為例來說明一下。

在linux中有TZ環境變量,其值類似這樣:

CST+08EDT,M4.1.0,M10.5.0,這個字符串可以做如下解讀,用空格分開他們,分成三部分

CST+08 EDT, M4.1.0,M10.5.0

  • ***部分中的CST表示時區的名字,即China Standard Time,也就是我們說的北京時間,+8表示北京時間加上8小時就是UTC時間
  • 第二部分EDT表示DST的名字,我們說DST是因各個國家地區的政策法規不同而不同的,EDT后面也可以像CST后面一樣加一個時間調整值,但由于我們國內只在86年到92年實行過一段時間DST,現在已經廢止,所以后面不用加調整時間。
  • 第三部分表示的是實行DST的開始和結束時間,我們就不細解讀了。

4),時間的表示,獲取,轉換

time模塊中獲取時間的基本方法是

t = time.time()

它返回的是從epoch到現在的秒數(用浮點數表示),用的是UTC時間。

我們自然而然地想把這個秒數轉為年月日時分秒的形式,而這種轉換又分兩種,一種還是用UTC時間,一種用我們所在時區進行調整后的時間。

time模塊給我們提供了兩個方法,

  • time. gmtime(t)
  • time.localtime(t)

二者都返回一個類struct_time的實例,該實例具有如下屬性:

Python中的時間處理大總結

相比用秒數表示的時間,這樣的表示更適合我們理解。

這兩個函數如果調用時不傳參數,它們內部會調用time.time(),并用返回的秒數做轉換。

相反的,python同樣提供了將這兩種struct_time轉為秒數的方法。

  • calendar.timegm()方法用來把UTC的struct_time(gmtime的返回對象)轉為從epoch開始的秒數
  • time.mktime()用來把用時區調整過的struct_time(即localtime的返回對象)對象轉為從epoch開始的秒數

也就是說mktime方法會先找到系統中的時區和DST信息,并利用這個信息對struct_time進行調整后再換算成秒數。

另一種常見的需求是在時間和表示時間的字符串之間進行轉換。

  • time模塊中的strftime和strptime就是做這個用的。

看名字大家就應該知道它們的含義,

  • strftime 即 string format time,用來將時間格式化成字符串
  • strptime 即string parse time,用來將字符串解析成時間。

需要注意的是,這里的時間都是struct_time對象。

關于怎么格式化時間,是很簡單的知識,這里就借用官網文檔的內容了。

Python中的時間處理大總結

除了這兩個函數,time模塊中還提供了兩個簡便方法,來幫助將時間轉為字符串

asctime用來將一個struct_time對象轉為標準24字符的字符串,如下所示:

  1. Sun Jun 20 23:21:05 1993 

ctime方法與asctime作用相同,只不過它接收的是秒數,在內部,會先把秒數通過localtime轉為struct_time,再往后就與asctime一樣了。

以上就是time模塊的核心內容,我嘗試用一個口訣幫助記憶這些API

time點time得秒數

傳入gm, local time得struct_time

要想變回原秒數

你得傳回calendar.timegm和time. mktime

  • string f和string p

格式化時間靠哥倆

你要還是嫌費事

  • asctime ,ctime來助力
  • 專門幫你轉字符串
  • 前者接收struct_time
  • 后者專門處理秒數
  • 分工合作不費力

學好time模塊基本功

做個時間的明白人!

下面,我們要開始學習datetime模塊。

3,datetime模塊

1),概覽

time模塊解決了時間的獲取和表示,datetime模塊則進一步解決了快速獲取并操作時間中的年月日時分秒信息的能力。

簡單說,該模塊核心的類就三個,date類表示年月日,time類表示時分秒毫秒,這里不要和time模塊搞混淆了。一句順口溜可以幫助記清這個情況:

  • time里面沒time
  • 藏在datetime里

編的是不是不咋地?嗯,我也這么覺得。

datetime類就是date和time的組合。

有一點需要提前說明一下,time類和datetime類都有一個屬性,它的值是一個tzinfo對象,里面包含了該time或者datetime的時區信息,一般稱這個time或者datetime對象是aware的,它能夠準確換算成自epoch開始的秒數。

如果該屬性設置為None,那么,這時的time對象或者datetime對象就沒有時區信息,具體它表示的是local time還是utc time,需要我們自己在程序中去決定。

這里我們所說的local time是指我們所在時區的時間, utc time指的就是國際標準時間,也就是格林尼治時間。下文同。

請記住一點,date中是沒有時區信息的。

2),從創建datetime開始

創建datetime對象,我最常用的辦法如下

  1. dt=datetime.datetime.fromtimestamp(time.time()) 

以上,time.time()獲得自epoch開始的秒數,fromtimestamp方法會將這個秒數轉變成一個datetime對象。

這里有一個問題,這個datetime對象究竟是utc的還是local的?

  • 答案是local的,這是該方法的默認行為。如果你在fromtimestamp方法中傳入一個表示時區的參數,即tzinfo對象,就會按傳入的時區信息進行轉換。

獲得表示當前local時間的datetime對象,還有兩個簡便方法

 

  1. datetime. datetime. now()  
  2. datetime. datetime. today() 

以上我們得到的都是local的datetime對象,如何獲得utc的datetime對象呢?有兩個辦法

 

  1. datetime. datetime. utcfromtimestamp()  
  2. datetime. datetime. utcnow() 

我們還可以從字符串中創建datetime對象,

  • 方法為datetime.striptime(date_string, format)

其內部還是先調用的time模塊中的striptime方法,獲取struct_time對象,再利用struct_time對象中的年月日時分秒信息構建datetime對象。

同樣的,datetime類也提供了strftime(),asctime(),ctime()方法,相信不說你也知道是做什么的了。

  • datetime類還提供了一個combine方法,用來將一個date對象和一個time對象組合成一個datetime對象。

需要注意的是,datetime模塊中出現timestamp時,一般可將其理解成time.time()返回的秒數

3),date和time的創建

  • date對象的創建和datetime非常相似,
  • datetime. date. today()
  • datetime.date.fromtimestamp()都可以創建一個date對象。

當然,你也可以通過構造方法傳入年月日來創建date對象。

相比之下,time對象的創建就很有限,只能通過

  1. datetime.time([hour[, minute[, second[, microsecond[, tzinfo]]]]]) 

這個方法創建。

4),以上三個對象的操作和timedelta類

在實際使用中,我們有一大塊需求就是對日期進行比較和加減運算。得益于python的操作符重載能力,python中可以方便地對

date對象之間,或者datetime對象之間進行小于(<)比較和減法(-)操作。

注意,這里僅限于同類對象之間,而且,不包括time對象之間。

兩個date對象作減,或者兩個datetime對象之間作減,差值用一個timedelta對象表示。

同理,一個date 對象或者datetime對象也可以加或者減一個timedelta對象。

一個timedelta對象含有三個屬性:days,seconds, microseconds,days屬性可以取負值,另外兩個屬性都只能是正值。

你可以用total_seconds()方法獲得一個timedelta對象的秒數表示。

兩個timedelta對象之間可加,可減,但不能做大小比較,因為這樣沒什么意義。

一個timedelta對象還可以與整數相乘,或通過//操作與一個整數相除。

還可以取反,或者用abs函數獲得絕對值

4,無總結,不進步

本文的目的不在于詳細說明python處理時間日期的api如何使用,而是想通過一個概覽的形式,讓大家抓住time和datetime模塊的設計結構,從而能夠清楚這些模塊提供了哪些能力,在需要的時候能夠想起來去用,至于查詳細的api,應該是可以輕松解決的。

責任編輯:未麗燕 來源: 網絡大數據
相關推薦

2023-01-05 16:36:55

2009-12-03 19:23:15

PHP處理會話函數

2019-07-22 09:59:20

Java框架集合

2022-07-19 08:01:55

函數Go格式化

2022-08-31 09:52:19

Python圖像處理

2010-02-02 09:08:39

Python 特性

2021-08-11 10:30:26

Python圖像工具

2023-05-04 07:43:47

MySQL數據庫

2019-06-10 07:44:45

Python圖像處理編程

2010-02-23 16:32:14

Python編程

2015-09-14 15:34:12

PHP緩存技術

2013-06-03 11:28:05

shell命令

2020-08-31 08:25:06

Python時間模塊開發

2021-09-03 09:06:42

代碼時間開發

2011-03-17 14:09:25

Oracle數據庫字符

2010-02-01 09:55:42

Python HTTP

2010-03-03 13:12:56

Python圖像處理

2020-12-23 11:08:10

Python代碼文本

2019-09-23 11:07:00

PythonRedis軟件

2022-10-17 08:02:05

Python日期用法
點贊
收藏

51CTO技術棧公眾號

一道本在线免费视频| 欧美成人综合一区| 国产一级做a爰片在线看免费| 东京久久高清| 欧美这里有精品| 特级黄色录像片| 欧美熟妇交换久久久久久分类 | 97久久久精品综合88久久| 国产成人精品一区二区| 日韩女优一区二区| 精品在线播放| 久久成人免费网站| 欧美精品电影免费在线观看| 天堂久久精品忘忧草| 欧美9999| 欧美日韩在线三区| www.玖玖玖| 天使と恶魔の榨精在线播放| 久久午夜老司机| 99porn视频在线| 日韩不卡高清视频| 日韩精品资源二区在线| 久久国产精品一区二区三区| 一区二区久久精品66国产精品| 在线免费观看欧美| 久久视频精品在线| 女人十八毛片嫩草av| 日本福利一区| 欧美刺激午夜性久久久久久久| 黄色永久免费网站| jizz内谢中国亚洲jizz| 亚洲午夜免费视频| 日韩人妻精品一区二区三区| 成人在线播放视频| 26uuu欧美| 久久激情视频久久| 亚洲精品视频久久久| 国产精品视屏| 精品国产乱子伦一区| 久久av综合网| av大片在线| 国产盗摄视频一区二区三区| 国产美女精品免费电影| 日韩免费av网站| 久久成人亚洲| 欧亚精品中文字幕| 国产一级片毛片| 夜夜嗨av一区二区三区网站四季av| 九色91av视频| 久久精品波多野结衣| 一区二区日韩欧美| 久久的精品视频| 91看片破解版| 欧美xxxx视频| 亚洲免费av网站| 国产成人三级视频| 国产激情在线观看| 伊人婷婷欧美激情| 超薄肉色丝袜足j调教99| 超碰在线免费播放| 亚洲黄色性网站| 欧美精品在欧美一区二区| 天天综合在线视频| 99亚偷拍自图区亚洲| 久久精品国产精品青草色艺 | 国产女人被狂躁到高潮小说| 99热国内精品永久免费观看| 日韩在线免费av| 老熟妇高潮一区二区三区| 极品束缚调教一区二区网站| 精品国产伦一区二区三区观看体验 | 蜜桃狠狠色伊人亚洲综合网站| 日本私人网站在线观看| 国产偷国产偷亚洲高清人白洁| 视频在线观看成人| a免费在线观看| 五月婷婷欧美视频| 无码人妻丰满熟妇区毛片| 九七电影院97理论片久久tvb| 欧美精品乱码久久久久久 | 中文在线观看免费| 亚洲福利视频一区二区| 漂亮人妻被中出中文字幕| 成人亚洲网站| 精品免费国产二区三区| 日韩网站在线播放| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产免费av| 亚洲精品乱码久久久久久久久久久久| 郴州新闻综合频道在线直播| 欧美精品做受xxx性少妇| 国产美女激情视频| 精品系列免费在线观看| 国产精品一区二区三区在线观| 精品视频一二区| 亚洲乱码一区二区三区在线观看| 777av视频| 日本免费成人| 日本高清免费不卡视频| 九九九久久久久久久| 亚洲免费专区| 欧美裸体男粗大视频在线观看| xxxx.国产| 国产精品一区二区在线观看不卡| 欧美日本韩国国产| 美女精品导航| 欧美情侣在线播放| aaaaa一级片| 欧美日韩国产高清| 国产精品亚洲一区二区三区| 日韩a在线观看| 一区二区久久久| 日本福利视频在线观看| 成人午夜精品| 精品中文字幕久久久久久| 国产日韩欧美在线观看视频| 忘忧草精品久久久久久久高清| 国语对白做受69| 国产精品无码久久av| 91女神在线视频| 亚洲爆乳无码精品aaa片蜜桃| 台湾佬中文娱乐久久久| 91成人免费在线视频| 国产ts在线观看| 小小影院久久| 国产精品一区二区三区免费视频| 深夜福利视频在线免费观看| 一区二区三区欧美视频| 色播五月综合网| 精品视频国产| 奇米四色中文综合久久| 天堂网在线播放| 亚洲国产美女搞黄色| 黄色a级三级三级三级| 久久香蕉国产| 成人免费在线视频网址| 成人性生交大片免费看午夜 | 极品束缚调教一区二区网站| 欧美另类xxx| jlzzjlzzjlzz亚洲人| 日韩一区欧美小说| 中文av字幕在线观看| 日韩国产一区二区三区| 国产日韩精品综合网站| 亚洲1卡2卡3卡4卡乱码精品| 欧美系列日韩一区| 五月激情四射婷婷| 六月婷婷色综合| 一区二区精品国产| av色综合久久天堂av色综合在| 在线看一区二区| 成人免费网站黄| 日韩精彩视频在线观看| 欧美三级电影在线播放| 欧美最新精品| 视频直播国产精品| 国产裸体无遮挡| 亚洲免费观看高清完整版在线观看| www.51色.com| 国自产拍偷拍福利精品免费一 | 91不卡在线观看| 91精品国产综合久久久久久丝袜 | 人人干视频在线| 亚洲v天堂v手机在线| 国产mv免费观看入口亚洲| 成人在线高清视频| 欧美一级淫片007| 国产在线免费视频| 久久久亚洲综合| 久久久久久蜜桃一区二区| 欧美91大片| 国产一区二区在线观看免费播放| 樱桃视频成人在线观看| 伊人久久大香线蕉av一区二区| 亚洲天堂狠狠干| 成人黄色在线网站| 人妻精品无码一区二区三区| 欧美亚洲精品在线| 99精彩视频| 亚洲国产欧美日本视频| 日韩有码在线播放| 风流老熟女一区二区三区| 色综合色狠狠综合色| 亚洲精品一区二区三区在线播放| 国产成人福利片| 天天爱天天操天天干| 国产在线不卡| 欧美在线一区二区三区四区| 豆花视频一区| 日本亚洲欧美成人| 在线不卡日本v二区707| 亚洲精选一区二区| av中文字幕免费| 色哟哟一区二区在线观看| 欧美偷拍第一页| 久久精品一区蜜桃臀影院| 岛国大片在线免费观看| 青青草一区二区三区| 欧洲精品一区二区三区久久| 日韩中文在线电影| 欧美日韩国产三区| 中文一区二区三区四区| 国产精品视频中文字幕91| 超碰在线资源| 精品成人a区在线观看| 波多野结衣视频在线看| 亚洲国产精品精华液网站| 国产精品久久国产精麻豆96堂| 成人av在线一区二区三区| 色呦色呦色精品| 久久中文欧美| 成人免费性视频| 亚洲a一区二区三区| 欧美一二三区| 免费福利视频一区| 99re热精品| 91精品一区| 国产精品美女视频网站| 亚洲天堂资源| 97激碰免费视频| 青春草免费在线视频| xvideos国产精品| 岛国在线视频免费看| 亚洲免费电影一区| 天天操天天舔天天干| 亚洲精品一区二区三区蜜桃下载 | 亚洲黄色片网站| 亚洲大尺度视频| 日韩欧美黄色影院| 国产特黄一级片| 91精品国产一区二区人妖| 中文字幕av久久爽| 欧美无砖专区一中文字| 99re热视频| 欧美视频一区在线| 久久久国产免费| 欧美三级一区二区| 中文字幕理论片| 欧美私模裸体表演在线观看| 亚洲精品91天天久久人人| 色天使色偷偷av一区二区| 欧美一区二区激情视频| 欧美日韩性生活视频| 久草国产精品视频| 黄色一区二区三区| 久久久免费高清视频| 五月综合激情婷婷六月色窝| 91看片在线播放| 欧美日韩在线另类| 天堂网中文字幕| 欧美午夜视频网站| 91tv国产成人福利| 日韩一区二区三区四区| www.黄色片| 亚洲国产精品免费| 飘雪影院手机免费高清版在线观看| 亚洲精品一区二区三区不| 久香视频在线观看| 中文字幕在线国产精品| 大片免费在线观看| 欧美高清视频在线播放| 日韩精品美女| 久久精品久久久久久国产 免费| 男人在线资源站| 欧美精品制服第一页| gogo久久| 欧美插天视频在线播放| 怡红院红怡院欧美aⅴ怡春院| 欧美激情欧美激情| 少妇视频一区| 国产精品无码专区在线观看| 99视频有精品高清视频| 国产精品初高中精品久久| 天堂成人娱乐在线视频免费播放网站| 欧美日韩一区二区视频在线观看| 日韩欧美精品| 久久成人福利视频| 可以看av的网站久久看| 国产一区二区在线观看免费视频| 国产黄人亚洲片| 国产传媒第一页| 18成人在线观看| 久久久久久少妇| 91精品国产91久久久久久最新毛片 | 香港三级日本三级a视频| 国产亚洲精品自拍| 黄色小视频免费网站| www.亚洲在线| 国产一二三av| 精品久久久久久中文字幕| 6—12呦国产精品| 亚洲精品国产精品国自产观看浪潮| av在线之家电影网站| 欧美激情性做爰免费视频| 美女网站视频一区| 丁香婷婷久久久综合精品国产| 宅男在线一区| 波多野结衣av一区二区全免费观看| 久久久久久夜| 成人在线视频免费播放| 国产成人av电影在线播放| 一级黄色性视频| 亚洲一区成人在线| 亚洲网站在线免费观看| 日韩av中文字幕在线播放| 久热国产在线| 国产精品96久久久久久又黄又硬| 香港久久久电影| 亚洲欧洲精品一区二区三区波多野1战4 | 成人小视频免费在线观看| 青青草自拍偷拍| 精品久久香蕉国产线看观看亚洲| 国产成年妇视频| 爽爽爽爽爽爽爽成人免费观看| 国模冰冰炮一区二区| 国产精品一区二区不卡视频| 五月开心六月丁香综合色啪 | 波多野结衣国产| 日韩女同互慰一区二区| 好了av在线| 国产精品专区第二| 视频一区中文| 99爱视频在线| 99久久精品国产麻豆演员表| a级片在线观看免费| 8x8x8国产精品| 精品毛片在线观看| 日韩中文字幕网址| 成人高清一区| 亚洲不卡1区| 一本一本久久| 亚洲精品女人久久久| 亚洲午夜电影网| 特黄视频在线观看| 国模吧一区二区三区| ccyy激情综合| a天堂资源在线观看| 岛国精品一区二区| 久久精品国产av一区二区三区| 日韩写真欧美这视频| 最新超碰在线| 国产chinese精品一区二区| 国产精品成人一区二区网站软件| 黄色a级三级三级三级| 一区二区成人在线视频| 午夜精品在线播放| 欧美激情a∨在线视频播放| 国产精品1luya在线播放| 免费看黄在线看| 91首页免费视频| 性无码专区无码| 一区二区在线视频| 国产aa精品| 欧美中日韩在线| av一二三不卡影片| 国产免费一级视频| 国产一区二区三区在线看| 成人午夜毛片| 国产手机视频在线观看| 丁香六月久久综合狠狠色| 日本少妇激情舌吻| 5566中文字幕一区二区电影| 国产淫片在线观看| 国产v亚洲v天堂无码| 亚洲综合国产| 亚洲图片第一页| 日韩一二三四区| 在线观看涩涩| 亚洲午夜高清视频| 国产91丝袜在线观看| 毛片视频网站在线观看| 中文字幕免费国产精品| 精品久久亚洲| 97成人在线观看视频| 日本一区二区三级电影在线观看| 一级特黄色大片| 久久久女人电视剧免费播放下载| 亚洲欧美日本伦理| 国产欧美激情视频| 亚洲6080在线| porn亚洲| 国产乱码一区| 老司机免费视频一区二区三区| 青青操国产视频| 亚洲精品在线视频| 精品中文字幕一区二区三区四区| 精品视频免费在线播放| 国产精品福利影院| 国产精华7777777| 久久国产精品久久久| 一道本一区二区三区| 91aaa精品| 黑人巨大精品欧美一区免费视频 | 国产美女性感在线观看懂色av| 成人久久久久爱| 麻豆久久婷婷| 久久国产精品波多野结衣av| 中文字幕免费精品一区| 亚洲三级精品| 亚洲熟妇一区二区|