Python模塊學習 datetime介紹
2020-02-23 04:48:30
供稿:網友
相比于time模塊,datetime模塊的接口則更直觀、更容易調用。今天就來講講datetime模塊。
datetime模塊定義了兩個常量:datetime.MINYEAR和datetime.MAXYEAR,分別表示datetime所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(對于偶等玩家,這個范圍已經足夠用矣~~)
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:一種日歷表示方法,類似于我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
使用例子:
代碼如下:
from datetime import *
import time
print 'date.max:', date.max
print 'date.min:', date.min
print 'date.today():', date.today()
print 'date.fromtimestamp():', date.fromtimestamp(time.time())
# # ---- 結果 ----
# date.max: 9999-12-31
# date.min: 0001-01-01
# date.today(): 2010-04-06
# date.fromtimestamp(): 2010-04-06
date提供的實例方法和屬性:
•date.year、date.month、date.day:年、月、日;
•date.replace(year, month, day):生成一個新的日期對象,用參數指定的年,月,日代替原有對象中的屬性。(原有對象仍保持不變)
•date.timetuple():返回日期對應的time.struct_time對象;
•date.toordinal():返回日期對應的Gregorian Calendar日期;
•date.weekday():返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此類推;