前言
Python提供了多個內置模塊用于操作日期時間,像 calendar,time,datetime。time模塊提供的接口與C標準庫 time.h 基本一致。相比于 time 模塊,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:與時區有關的相關信息。
注:以上列舉的這些類型的對象都是不可變(immutable)的。
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:一種日歷表示方法,類似于我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
使用示例:
>>> datetime.date.maxdatetime.date(9999, 12, 31)>>> datetime.date.mindatetime.date(1, 1, 1)>>> datetime.date.resolutiondatetime.timedelta(1)>>> datetime.date.today()datetime.date(2016, 5, 12)>>> datetime.date.fromtimestamp(time.time())datetime.date(2016, 5, 12)
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,以此類推; data.isoweekday():返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此類推; date.isocalendar():返回格式如(year,month,day)的元組; date.isoformat():返回格式如'YYYY-MM-DD'的字符串; date.strftime(fmt):自定義格式化字符串。