原文地址:http://www.bugingcode.com/blog/python_datetime.htmlhtml
datatime 模塊題共用一些處理日期,時間和時間間隔的函數。這個模塊使用面向對象的交互取代了time模塊中整形/元組類型的時間函數。python
在這個模塊中的全部類型都是新型類,可以從python中繼承和擴展。編程
這個模塊包含以下的類型:函數
datetime表明了日期和一天的時間code
date表明日期,在1到9999之間orm
time 表明時間和獨立日期。htm
timedelta 表明兩個時間或者日期的間隔對象
tzinfo 實現時區支持blog
datetime 類型表明了某一個時區的日期和時間,除非有特殊說明,datetime對象使用的是「naive time」,也就是說程序中datetime的時間跟所在的時區有關聯。datetime模塊提供了一些時區的支持。繼承
給定一個時間建立datetime對象,能夠使用datetime構造函數:
import datetime now = datetime.datetime(2003, 8, 4, 12, 30, 45) print now print repr(now) print type(now) print now.year, now.month, now.day print now.hour, now.minute, now.second print now.microsecond
結果以下:
$ python datetime-example-1.py 2003-08-04 12:30:45 datetime.datetime(2003, 8, 4, 12, 30, 45) <type 'datetime.datetime'> 2003 8 4 12 30 45 0
值得注意的是默認字符串表明的是ISO 8601-style時間戳。
你也能夠使用內建工廠函數來建立datetime對象(全部的這樣的函數提供的是類方法,而不是模塊函數)。
import datetime import time print datetime.datetime(2003, 8, 4, 21, 41, 43) print datetime.datetime.today() print datetime.datetime.now() print datetime.datetime.fromtimestamp(time.time()) print datetime.datetime.utcnow() print datetime.datetime.utcfromtimestamp(time.time())
結果以下:
$ python datetime-example-2.py 2003-08-04 21:41:43 2003-08-04 21:41:43.522000 2003-08-04 21:41:43.522000 2003-08-04 21:41:43.522000 2003-08-04 19:41:43.532000 2003-08-04 19:41:43.532000
像在這些例子中,時間對象的默認格式是ISO 8601-style 字符串:「yyyy-mm-dd hh:mm:ss」,毫秒是可選的,能夠有也能夠沒有。
datetime類型提供另外一種格式方法,包括高度通用的strftime方法(在time模塊中能夠看到更加詳細的說明)。
import datetime import time now = datetime.datetime.now() print now print now.ctime() print now.isoformat() print now.strftime("%Y%m%dT%H%M%S") $ python datetime-example-3.py 2003-08-05 21:36:11.590000 Tue Aug 5 21:36:11 2003 2003-08-05T21:36:11.590000 20030805T213611
date表明着datetime對象中日期部分。
import datetime d = datetime.date(2003, 7, 29) print d print d.year, d.month, d.day print datetime.date.today()
結果以下:
$ python datetime-example-4.py 2003-07-29 2003 7 29 2003-08-07
time也相似,他表明着時間的一部分,以毫秒級爲單位。
import datetime t = datetime.time(18, 54, 32) print t print t.hour, t.minute, t.second, t.microsecond
結果以下:
$ python datetime-example-5.py 18:54:32
datetime提供date和time對象的擴展方法,同時也提供了轉換兩個對象到一個時間對象上的類方法。
import datetime now = datetime.datetime.now() d = now.date() t = now.time() print now print d, t print datetime.datetime.combine(d, t)
結果以下:
$ python datetime-example-6.py 2003-08-07 23:19:57.926000 2003-08-07 23:19:57.926000 2003-08-07 23:19:57.926000
轉載請標明來之:阿貓學編程
更多教程:阿貓學編程-python基礎教程