python中的時間模塊主要有time, datetime。
創新互聯是一家專注于網站制作、成都做網站與策劃設計,利通網站建設哪家好?創新互聯做網站,專注于網站建設十年,網設計領域的專業建站公司;建站業務涵蓋:利通等地區。利通做網站價格咨詢:18980820575
I, time模塊
time模塊中包含了四種時間格式:
float格式,即給定時間相對于epoch增加的秒數
tuple格式,一個九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的時間
針對這幾種時間格式,time模塊提供了函數在格式之間相互轉換。
asctime(tuple) -string
ctime(float) -string
gmtime(float) -tuple
localtime(float) -tuple
mktime(tuple) -float
strftime(format, tuple) -format string
strptime(formatstring, format) -tuple
time() - float
上述函數中,除了time()函數直接返回當前時間相對于epoch的秒數外,其他函數都要求有時間的輸入,如果沒有輸入,則默認使用當前時間。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期簡寫
%A 英文星期的完全
%b 英文月份的簡寫
%B 英文月份的完全
%c 顯示本地日期時間
%d 日期,取1-31
%H 小時, 0-23
%I 小時, 0-12
%m 月, 01 -12
%M 分鐘,1-59
%j 年中當天的天數
%w 顯示今天是星期幾
%W 第幾周
%x 當天日期
%X 本地的當天時間
%y 年份 00-99間
%Y 年份的完整拼寫
%S 秒(00-59)
除了上述的時間轉換函數之外,模塊還提供了下面的函數:
clock() 返回進程的創建時間,以秒計數的float
sleep(float) sleep一段時間,以秒計數
tzset() 更改時區
II, datetime
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時間。datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;date.resolution:date對象表示日期的最小單位。這里是天。date.today():返回一個表示當前本地日期的date對象;date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似于我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
time模塊
time這個模塊提供各種與時間相關的函數。相關功能,可以參見datetime和calendat模塊。
此模塊并非所有平臺提供所有功能,因平臺而異。
以下是對一些術語和慣例的解釋
初始時間因平臺而異。對于Unix平臺,初始時間是1970,01,01,00:00:00(UTC)。查看每個操作平臺的初始時間可以使用time.gmtime(0)函數。
在所有POSIX平臺上,從初始時間以來的秒數都不包括閏秒
該模塊中的函數可能不處理初始時間以前和遙遠未來的日期和時間,未來的分界點對于32位操作系統是2038年。
UTC是協調世界時(以前稱為格林尼治標準時間,GMT)。縮寫UTC不是一個錯誤,而是英語和法語之間的妥協。
DST是夏令時,在一年中的某些時候,時區通常會調整一個小時。DST規則是神奇的(由當地法律決定),每年都在變化。
各種實時函數的精度可能低于表示其值或參數的單位所建議的精度。
推薦學習《python教程》
時期(period)表示的是時間區間,比如數日、數月、數季、數年等。Period類所 表示的就是這種數據類型,其構造函數需要用到一個字符串或整數,以及表11-4中 的頻率:
這里,這個Period對象表示的是從2007年1月1日到2007年12月31日之間的整段時間。
只需對Period對象加上或減去一個整數即可達到根據其頻率進行位移的效果:
如果兩個Period對象擁有相同的頻率,則它們的差就是它們之間的單位數量:
period_range函數可用于創建規則的時期范圍:
PeriodIndex類保存了一組Period,它可以在任何pandas數據結構中被用作軸索引:
如果你有一個字符串數組,你也可以使用PeriodIndex類:
Period和PeriodIndex對象都可以通過其asfreq方法被轉換成別的頻率。假設我們有 一個年度時期,希望將其轉換為當年年初或年末的一個月度時期。該任務非常簡 單:
你可以將Period('2007','A-DEC')看做一個被劃分為多個月度時期的時間段中的游 標。圖11-1對此進行了說明。
對于一個不以12月結束的財政年度,月度子時期的歸屬情況就不一樣了:
在將高頻率轉換為低頻率時,超時期(superperiod)是由子時期(subperiod)所 屬的位置決定的。例如,在A-JUN頻率中,月份“2007年8月”實際上是屬于周期“2008年”的:
完整的PeriodIndex或TimeSeries的頻率轉換方式也是如此:
這里,根據年度時期的第一個月,每年的時期被取代為每月的時期。
如果我們想要 每年的最后一個工作日,我們可以使用“B”頻率,并指明想要該時期的末尾:
未完待續。。。
當前標題:關于python時間函數詳解的信息
URL鏈接:http://m.newbst.com/article8/hsohip.html
成都網站建設公司_創新互聯,為您提供移動網站建設、App開發、網站收錄、搜索引擎優化、App設計、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯