新聞中心
datetime模塊是基本日期和時(shí)間類型,提供了以簡單和復(fù)雜的方式操作日期和時(shí)間的類.可以進(jìn)行輸出格式化操作.
日期和時(shí)間對象有兩種:naive 和 aware .
datetime并且time 對象具有可選的時(shí)區(qū)信息屬性,tzinfo可以將其設(shè)置為抽象tzinfo類的子類的實(shí)例.
常量
- datetime.MINYEAR: 一個(gè)date或一個(gè)datetime對象中允許的最小年份數(shù)。 MINYEAR是1.
- datetime.MAXYEAR: 一個(gè)date或一個(gè)datetime對象中允許的大年份數(shù)。 MAXYEAR是9999.
可用類的類型
- class datetime.date
- 理想化的天真日期,屬性: year,month,和 day。
- class datetime.time
- 理想化的時(shí)間.屬性: hour,minute,second,microsecond,和tzinfo.
- class datetime.datetime
- 日期和時(shí)間的組合。屬性:year,month, day,hour,minute,second,microsecond,和tzinfo。
- class datetime.timedelta
- 表達(dá)兩者之間的差異的持續(xù)時(shí)間date,time或datetime實(shí)例微秒的分辨率
- class datetime.tzinfo
- 時(shí)區(qū)信息對象的抽象基類。這些由 datetime和和time類一起用于提供可定制的時(shí)間調(diào)整概念.
- class datetime.timezone
- 將tzinfo抽象基類實(shí)現(xiàn)為與UTC的固定偏移量的類.
date類的類方法和類屬性
一個(gè)date對象代表一個(gè)理想化的日歷日期(年,月,日),當(dāng)前的公歷無限期延長兩個(gè)方向。1年1月1日稱為第1天,1年1月2日稱為第2天
類方法:
- datetime.date(year, month, day) 參數(shù)是必需的,可以是整數(shù).
- date.today() 返回今天的日期.
- date.fromtimestamp() 返回與POSIX時(shí)間戳對應(yīng)的本地日期.
- date.fromordinal() 返回對應(yīng)于公歷格里高利序數(shù)的日期.
類屬性:
- date.min屬性: 表示最早的月日(1.1)
- date.max屬性: 最晚的月日(12.31)
- date.resolution: 非相等日期對象之間可能存在的最小差異, timedelta(days=1)。
- 實(shí)例屬性(只讀):
- date.year 打印年份.
- date.month: 月份(1-12月)
- date.day: 給定年份的給定月份的1和之間的天數(shù).
注意: 日期可以用作字典鍵。在布爾上下文中,所有date 對象都被認(rèn)為是真的。
實(shí)例方法:
date.replace方法
date.replace(year = self.year,month = self.month,day = self.day): 返回具有相同值的日期.
- date.timetuple():返回元組類型的本地時(shí)間.
- date.toordinal(): 返回日期的公歷序數(shù).
- date.weekday() 以星期為單位返回星期幾.其中星期一為0,星期日為6.
- date.isoweekday():以星期為單位返回星期幾,星期一為1,星期日為7.
- date.isocalendar():返回3元組(月份,周,工作日)
- date.isoformat(): 返回表示ISO 8601格式的日期字符串'YYYY-MM-DD'.
- date.str(): 對于日期d,str(d)相當(dāng)于d.isoformat().
- date.ctime() : 返回表示日期的字符串.
- date.strftime(format): 返回表示日期的字符串,由顯式格式字符串控制。引用小時(shí),分鐘或秒的格式代碼將顯示0值.
date.format(format):和date.strftie()相同.
- 計(jì)算事件天數(shù)
參考libdate.py文件.
timedelta對象
timedelta對象表示的持續(xù)時(shí)間,兩個(gè)日期或時(shí)間之間的差.
class datetime.timedelta(days = 0,seconds = 0,microseconds = 0,milliseconds = 0,minutes = 0,hours = 0,weeks = 0
參數(shù)可以是整數(shù),浮點(diǎn)數(shù),正數(shù)或負(fù)數(shù).
- 參數(shù)轉(zhuǎn)換:
毫秒轉(zhuǎn)換為1000微秒。 一分鐘轉(zhuǎn)換為60秒。 一小時(shí)轉(zhuǎn)換為3600秒。 一周轉(zhuǎn)換為7天
類屬性:
- timedelta.min : 負(fù)數(shù)的timedelta對象.
- timedelta.max : 大的timedelta對象.
- timedelta.resolution : 非平等timedelta物體之間可能存在的最小差異.
實(shí)例屬性
實(shí)例屬性(只讀)
- days 介于-999999999和999999999之間.
- seconds: 介于0和86399之間.
- microseconds: 介于0和999999之間.
timedelta對象還支持使用date和datetime 對象進(jìn)行某些添加和減少.
timedelta對象是可散列的(可用作字典鍵).
- 實(shí)例方法:
- timedelta.total_seconds(): 返回持續(xù)時(shí)間中包含的總秒數(shù)
datetime對象
包含來自所有信息的單個(gè)對象date的對象和time對象。
- 構(gòu)造函數(shù):
class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
年,月,日參數(shù)是必需的。 tzinfo可以是None,或者是tzinfo子類的實(shí)例。其余參數(shù)可以是整數(shù).
datetime對象的類方法
- datetime.today(): 返回當(dāng)前的本地日期時(shí)間.
- datetime.now(tz = None): 返回當(dāng)前的本地日期和時(shí)間.
- datetime.utcnow(): 返回當(dāng)前的UTC日期和時(shí)間.
- datetime.fromtimestamp(timestamp,tz = None):返回與POSIX時(shí)間戳對應(yīng)的本地日期和時(shí)間.
- datetime.utcfromtimestamp(timestamp): 返回與datetimePOSIX時(shí)間戳對應(yīng) 的UTC.
- datetime.fromordinal(ordinal): 返回datetime相應(yīng)的公歷格里高利序數(shù),其中第1年1月1日有序數(shù)1.
- datetime.combine(date, time, tzinfo=self.tzinfo): 返回一個(gè)新datetime對象,其日期組件等于給定date對象,其時(shí)間組件等于給定time對象.
- datetime.strptime(date_string, format): 返回datetime對應(yīng)的date_string,根據(jù)格式解析.
datetime對象的類屬性
- datetime.min: 最早的datetime,日期和時(shí)間.
- datetime.max: 最晚的datetime,日期和時(shí)間.
- datetime.resolution: 非平等datetime物體之間可能存在的最小差異.
實(shí)例屬性
實(shí)例屬性(只讀)
- datetime.year: 年
- datetime.month: 介于1到12之間.
- datetime.day: 在給定年份的給定月份的1和之間的天數(shù).
- datetime.hour: 范圍(24小時(shí))
- datetime.minute:60分鐘.
- datetime.second: 60秒.
- datetime.microsecond: 1000000毫秒.
- datetime.tzinfo: 該對象作為tzinfo參數(shù)傳遞給datetime構(gòu)造函數(shù).
- datetime.fold: 用于消除重復(fù)間隔期間的偏移時(shí)間.
datetime對象可以用作字典鍵.
實(shí)例方法
- datetime.date(): 返回年月日的對象.
- datetime.time(): 以相同的小時(shí),分鐘,秒,微秒和折疊返回對象。折疊值被復(fù)制到返回的time對象.
- datetime.timetz(): 返回time具有相同小時(shí),分鐘,秒,微秒,折疊和tzinfo屬性的對象.
datetime.replace()
datetime.replace(year=self.year, month=self.month, day=self.day, hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, * fold=0)
返回具有相同屬性的日期時(shí)間.
- datetime.astimezone(tz=None): 返回datetime具有新tzinfo屬性tz的對象,調(diào)整日期和時(shí)間數(shù)據(jù).tz必須是tzinfo子類的實(shí)例.
- datetime.utcoffset(): 如果tzinfo是None,則返回None,否則返回 self.tzinfo.utcoffset(self),并在后者未返回時(shí)引發(fā)異常None,或者timedelta表示大小小于一天的整數(shù)分鐘的對象.
- datetime.dst(): 如果tzinfo是None,則返回None,否則返回 self.tzinfo.dst(self),并在后者未返回時(shí)引發(fā)異常 None,或者timedelta表示大小小于一天的整數(shù)分鐘的對象。
- datetime.tzname(): 如果tzinfo是None,則返回None,否則返回 self.tzinfo.tzname(self),如果后者不返回None或者是字符串對象,則引發(fā)異常.
- datetime.timetuple():返回time.struct_time
- datetime.utctimetuple():
- datetime.toordinal(): 返回日期的格里高利序數(shù).
- datetime.timestamp(): 返回與datetime 實(shí)例對應(yīng)的POSIX時(shí)間戳.該timestamp()方法使用該fold屬性消除重復(fù)間隔期間的時(shí)間歧義.
- datetime.weekday(): 以星期為單位返回星期幾,其中星期一為0.
- datetime.isoweekday(): 以星期為單位返回星期幾,星期一為1.
- datetime.isocalendar(): 返回3元組(年,星期編號,工作日)
- datetime.isoformat(sep ='T',timespec ='auto'): 返回表示ISO 8601格式的日期和時(shí)間的字符串.
- datetime.str(): 相當(dāng)于d.isoformat(' ')
- datetime.ctime(): 返回表示日期和時(shí)間的字符串.
- datetime.strftime(format): 返回表示日期和時(shí)間的字符串,由顯式格式字符串控制.
- datetime.format(format): 返回表示日期和時(shí)間的字符串,由顯式格式字符串控制.
time對象
time對象表示一天中的時(shí)間,可以通過tzinfo對象調(diào)整.
class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
類屬性
- time.min: 最早的時(shí)間.
- time.max: 最新的時(shí)間.
- time.resolution: 非相等time對象 之間可能存在最小差異.
實(shí)例屬性
實(shí)例屬性(只讀)
- time.hour: 24小時(shí).
- time.minute: 60分鐘
- time.second: 60s
- time.microsecond: 1000000
- time.tzinfo: 該對象作為tzinfo參數(shù)傳遞給time構(gòu)造函數(shù)
- time.fold: 消除重復(fù)間隔期間的墻壁時(shí)間.
實(shí)例方法
time.replace方法
time.replace(hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, * fold=0)
返回time具有相同值的a- time.isoformat(timespec ='auto'): 返回表示ISO 8601格式的時(shí)間的字符串.
- time.strftime(format): 返回表示時(shí)間的字符串,由顯式格式字符串控制.
timezone 對象
每一個(gè)實(shí)例,其中表示通過從UTC的固定偏移定義的時(shí)區(qū).
class datetime.timezone(offset, name=None)
所述偏移參數(shù)必須被指定為timedelta 代表的本地時(shí)間和UTC之間的差對象
timezone.utcoffset(dt): 返回timezone構(gòu)造實(shí)例時(shí)指定的固定值.
timezone.tzname(dt): 返回timezone構(gòu)造實(shí)例時(shí)指定的固定值.
timezone.dst(dt): 返回None.
類屬性:
timezone.utc
UTC時(shí)區(qū),timezone(timedelta(0))。
format time結(jié)構(gòu)化表示
%a : 簡化星期名稱
%A : 本地完整星期名稱
%b : 本地簡化月份名稱
%B : 本地完整月份名稱
%c : 本地相應(yīng)的日期和時(shí)間表示.
%d : 一個(gè)月中的第幾天(01-31)
%H : 一天中的第幾個(gè)小時(shí)(24小時(shí)制,00-23)
%I : 第幾個(gè)小時(shí)(12小時(shí)制,01-12)
%j : 一年中的第幾天(001-366)
%m : 月份(01-12)
%M : 分鐘數(shù)(00-59)
%p : 本地am或者pm的對應(yīng)符.
%S : 秒(01-61)
%U : 一年中的星期數(shù).(00-53星期天是一個(gè)星期的開始),第一個(gè)星期天之前的所有天數(shù)都放在第0周.
%w : 一個(gè)星期中的第幾天(0-6,0是星期天)
%W : 和%U基本相同,不同的是%W以星期一為一個(gè)星期的開始.
%x : 本地相應(yīng)日期.
%X : 本地相應(yīng)時(shí)間.
%y : 去掉世紀(jì)的月份(00-99)
%Y : 完整月份.
%Z : 時(shí)區(qū)的名字(不存在就為空字符)
%% : '%'字符.
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞標(biāo)題:datetime模塊源碼解讀-創(chuàng)新互聯(lián)
瀏覽地址:http://fisionsoft.com.cn/article/eggpj.html