Python中的datetime模塊講解與示例
Python 中的日期和時間操作是使用名為datetime的模塊完成的。它的類具有處理日期、時間、時區和時差的功能。它是一個內置模塊,因此不必專門安裝。
datetime 模塊不僅使我們能夠進行日期和時間計算,而且還有助于通過高效的屬性提取來格式化輸出。
A.datetime中的常量
datetime模塊包含兩個常量:
MINYEAR:它是日期或日期時間對象的最小有效年份數。它的值為 1。
import datetime
print(datetime.MINYEAR)
# output: 1
MAXYEAR:它是日期或日期時間對象的最大有效年份數。它的值為 9999。
import datetime
print(datetime.MAXYEAR)
# output: 9999
B.datetime中的類
此模塊中有六個可用的類允許操作日期和時間:
1、date類
此類的對象表示日歷中的日期(格式:年、月、日)。用于該格式的日歷當前是公歷。此類的構造函數需要所有三個參數:year、month和day。
語法:
class datetime.date(year, month, day)
參數應參考如下設置:
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= 給定月份和年份中的天數
如果參數的值超出上述范圍,則會指出ValueError,如果類型不是整數,則會引發 TypeError。
例子:
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= 給定月份和年份中的天數
簡單的示例:
from datetime import date
date0 = date ( 2021 , 6 , 6 )
print ( "簡單的示例: " , date0 )
# output:簡單的示例: 2021-06-06
date類具有以下類方法和屬性:
from datetime import date
import time
## today() 方法
datetoday= date.today()
print("今天是: ", datetoday)
# 今天是: 2021-06-07
## fromtimestamp() 方法
date1 = date.fromtimestamp(time.time())
print("給定時間戳的日期是: ", date1)
# 給定時間戳的日期是: 2021-06-07
## fromordinal() 方法
ordinal0= date.fromordinal(1000)
print("從零開始的第1000天是: ", ordinal0)
# 從零開始的第1000天是: 0003-09-27
## fromisoformat() 方法
dateiso= date.fromisoformat('2019-12-04')
print("文本中的日期是: ", dateiso)
# 文本中的日期是: 2019-12-04
## fromisocalendar(year,week,day) 方法
ii = date.fromisocalendar(2010,4,3)
print("由年、周和日指定的日期是: ", ii)
# 由年、周和日指定的日期是: 2010-01-27
date類還具有實例方法 實例方法是使用類的實例的方法,而類方法只能與類名一起使用。下面給出了date類的實例方法:
from datetime import date
## replace() 實例方法
x = date(2019, 9, 25)
x.replace(year=2010, day=15)
print("替換后的日期是:", x)
## timetuple 實例方法
t = x.timetuple()
## 返回該日期的信息信息
print ("返回的日期信息是:", t)
## toordinal() 實例方法
d = x.toordinal()
print("給定日期的公歷序數是:", d)
## weekday() 實例方法
print("給定日期是星期幾?",x, "是:", x.weekday())
## isoweekday() 實例方法
print("給定日期是星期幾?",x, "在ISO日期是:", x.isoweekday())
## isocalendar() 實例方法
print("在公歷日期中,",x,"是:",x.isocalendar())
## 下面的函數轉換日期字符串
## isoformat 實例方法
s=x.isoformat()
print("給定日期轉化成 ISO 8601 格式是:", s)
## str 實例方法
print("給定日期轉化為文本是:", str(x))
## ctime() 實例方法
print("給定日期的完整字符串表示,",x,"是:", x.ctime())
## strftime() 實例方法
xyear = x.strftime("%Y")
xdate_time = x.strftime("%Y/%m/%d, %H:%M:%S")
print("給定日期使用 format 格式化為文本")
print(xyear)
print(xdate_time)
## format() 實例方法
st=format(x)
print("給定日期轉為文本是:",st)
## output:
## 替換后的日期是: 2019-09-25
## 返回的日期信息是: time.struct_time(tm_year=2019, tm_mon=9, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=268, tm_isdst=-1)
## 給定日期的公歷序數是: 737327
## 給定日期是星期幾? 2019-09-25 是: 2
## 給定日期是星期幾? 2019-09-25 在ISO日期是: 3
## 在公歷日期中, 2019-09-25 是: (2019, 39, 3)
## 給定日期轉化成 ISO 8601 格式是: 2019-09-25
## 給定日期轉化為文本是: 2019-09-25
## 給定日期的完整字符串表示, 2019-09-25 是: Wed Sep 25 00:00:00 2019
## 給定日期使用 format 格式化為文本
## 2019
## 2019/09/25, 00:00:00
## 給定日期轉為文本是: 2019-09-25
2. Time 類
時間類的對象表示本地時間,可以通過tzinfo對象進行調整
語法:
class datetime.time(hour, minute, second, microsecond, tzinfo, *, fold)
示例:
from datetime import time
time0 = time(13, 24,34)
print("給定時間示例:", time0)
今天和大家初步學習了Python標準庫中datetime模塊,大家都學會了嗎?
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。
發表評論
請登錄后評論...
登錄后才能評論