Python中的時間與日期
- 2020 年 5 月 18 日
- 筆記
本文簡要介紹datetime,time模組的簡要用法。
datetime模組
datetime模組主要有四個主要的對象。
date 處理年、月、日
time處理時、分、秒、微秒
datetime處理日期和時間同時出現的情況
timedelta處理日期或時間間隔
下面給出實例,我們指定年月日,創建一個date對象,之後這些值會變成對象的屬性。
from datetime import date
data = date(2020, 5, 18)
print(data)
print(data.day)
print(data.month)
print(data.isoformat()) #調用此方法也可直接列印date對象
然後iso是指ISO 8601,一種日期和時間的國際標準,它可以對日期進行正確的排序,年月日。
from datetime import date
from datetime import timedelta
now = date.today()
print(now)
someday = timedelta(days=1)
tomorrow = now + someday
print(tomorrow)
#此模組也可以進行簡單的運算
yesterday = now - someday
不過date是有計算範圍的,date.min(1,1,1)到date.max(9999,12,31),因此,不能用它進行天文或歷史相關的計算。
然後我們可以用time()模組中的對象去表示一天內的時間,相對於上面只是改變了一下參數,用法相同,分別為hour,minute,second,microsecond,不設定初始值,默認為零。但是微秒並不一定就能電腦取出準確的數值,和電腦本身的性能有關。
from datetime import date, time, datetime
noon = time(12)
today = date.today()
noon_today = datetime.combine(today, noon)
print(noon_today) #使用combine將date和time對象合併為datetime
#我們也可以用date()和time()方法從datetime中提取這兩個部分
noon_today.date()
noon_today.time()
time模組
上面介紹的datetime模組中有個對象叫做time,其次,python中還有一個單獨的time模組,我們下面介紹它。
一種表示絕對時間的方法是計算從某個起始點開始的秒數。Unix使用的是從1970年1月1日開始的秒數,這個數值通常稱之為紀元,它是不同系統間交換日期時間的最好方法。
import time
print(time.time())#輸出從紀元開始過去的秒數
#我們也可以把一個計算值轉換成一個字元串
print(time.ctime(now))
其實time模組中如果忽略localtime()或是gmtime()的參數,會默認返回當前的時間。


