1. 程式人生 > >python中datetime.date類介紹

python中datetime.date類介紹



date類是一個日期類,由年、月、日組成。由於Python也是面向物件程式語言,所以針對類,就會有建構函式,該類的建構函式如下: 
class datetime.date(year, month, day): 
year : 表示年,範圍[MINYEAR, MAXYEAR],即[1, 9999] 
month : 表示月,範圍[1, 12] 
day :一月中第幾天,最大值根據給定的year,month引數來決定。例如閏年2月份有29天 


一、date物件所能表示的最大最小日期,返回的是datetime.date型別的物件
>>> import datetime
>>> datetime.date.max
datetime.date(9999, 12, 31)
>>> print datetime.date.min
0001-01-01
>>>




二、date.today() 函式:返回一個當前本地日期的date型別的物件


>>> datetime.date.today()
datetime.date(2018, 1, 16)
>>> print datetime.date.today()
2018-01-16
>>>


三、date.fromtimestamp()函式:根據給定的時間戳,返回一個date物件


>>> import datetime
>>> import time
>>> now=time.time()
>>> print now
1516110787.69
>>> s=datetime.date.fromtimestamp(now)
>>> s
datetime.date(2018, 1, 16)
>>> print s
2018-01-16
>>>


四、date.weekday()函式:引數必須是一個date型別的物件,返回該日期是一週中的第幾天。返回值是一個整型。星期一,返回0;星期二,返回1。。。


>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> type(s)
<type 'datetime.date'>
>>> d=datetime.date.weekday(s)
>>> d
1
>>> print d
1
>>> type(d)
<type 'int'>
>>>


五、date.isoweekday()函式:該函式需要一個datetime.date型別的引數。返回weekday中的星期幾,星期一,返回1;星期二,返回2;以此類推。


>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> d=datetime.date.isoweekday(s)
>>> d
2
>>> type(d)
<type 'int'>
>>>




六、date.isocalendar()函式:該函式需要一個datetime.date型別的引數。返回date型別物件中的year(年),week(周),weekday(一週中的第幾天),返回值是一個元組




>>> s=datetime.date.today()
>>> print s
2018-01-16
>>> s
datetime.date(2018, 1, 16)
>>> d=datetime.date.isocalendar(s)
>>> d
(2018, 3, 2)
>>> print d
(2018, 3, 2)   ----代表2018年中的第3周,第三週中的第2天
>>> type(d)
<type 'tuple'>
>>>




>>> s=datetime.date(2018,1,14)
>>> s
datetime.date(2018, 1, 14)
>>> print s
2018-01-14
>>> d
(2018, 3, 2)
>>> d=datetime.date.isocalendar(s)
>>> d
(2018, 2, 7)     ----代表2018年中的第3周,第三週中的第7天
>>>


七、date.strftime(fmt) 返回自定義格式的時間字串。fmt是自定義的時間格式


>>> a=datetime.date.today()
>>> a
datetime.date(2018, 1, 16)
>>> b=a.strftime("%Y-%m-%d %H:%M:%S")
>>> b
'2018-01-16 00:00:00'
>>> print b
2018-01-16 00:00:00
>>> type(b)
<type 'str'>
>>>


八、.replace(year, month, day):生成一個新的日期物件  用引數指定的年,月,日代替原有物件中的屬性。(原有物件仍保持不變)


>>> date1
datetime.date(2018, 1, 16)
>>> date_new=date1.replace(year=2017)
>>> date_new
datetime.date(2017, 1, 16)
>>> date_new=date1.replace(day=30)
>>> date_new
datetime.date(2018, 1, 30)
>>> 


九、日期的其他操作--日期加上一個時間間隔(datetime.timedela類的物件)




>>> now=datetime.date.today()
>>> now
datetime.date(2018, 1, 16)
>>> print now
2018-01-16
>>> b=datetime.timedelta(days=10)
>>> b
datetime.timedelta(10)
>>> type(b)
<type 'datetime.timedelta'>
>>> print b
10 days, 0:00:00
>>> print now+b
2018-01-26
>>> print now-b
2018-01-06
>>> print now-b-b
2017-12-27
>>>




十、日期的其他操作--兩個date型別物件相減。返回兩個日期的間隔物件,即:datetime.timedelta型別的物件


>>> date1=datetime.date.today()
>>> date2=date1.replace(day=19)
>>> print date1
2018-01-16
>>> print date2
2018-01-19
>>> print type(date1),type(date2)
<type 'datetime.date'> <type 'datetime.date'>
>>> print date2-date1
3 days, 0:00:00
>>> print date1-date2
-3 days, 0:00:00
>>> print date2+datetime.timedelta(days=35)
2018-02-23
>>> print type(date2-date1)
<type 'datetime.timedelta'>
>>>


十一、日期的其它操作--比較日期大小


date1 < date2 返回比較結果布林值,真返回True,假返回False 

相關推薦

pythondatetime.date介紹

date類是一個日期類,由年、月、日組成。由於Python也是面向物件程式語言,所以針對類,就會有建構函式,該類的建構函式如下:  class datetime.date(year, month, day):  year : 表示年,範圍[MINYEAR, MAXYEAR

Python面向對向介紹的屬性和方法

1.面向物件介紹 類和物件:是面向物件中兩個重要概念 類:是物件對事物的抽象,比如人類\球類 物件:是類的一個例項,比如足球\籃球 例項說明: 球類可以對球的特徵和行為進行抽象,然後可以例項化一個真實的球體出來 為什麼面向物件? 面向物件的主要思想是 封裝

python預設json庫處理mysqldatetime,date型別不能序列化json的解決方案

今天處理mysql資料庫資料時,從資料庫中讀取了datetime和date型別。不幸運的是預設的json庫是不支援 datetime和date型別的序列化的。 #!/usr/bin/env python # -*- coding: utf-8 -*- """ Th

python的元(metaclass)

優先 裝飾器 target {} pass get tac 搜索 items 認識python中元類的準備工作。 1,首先需要明白一個概念就是python中一切皆為對象。 input: class Trick(object): pass print type(‘1234

JavaScriptDate

clas 月份 string 國標 nbsp oda cst 16px 創建   ECMAScript中的Date類型是在早起Java中的java.util.Date類基礎上構建的。為此,Date類型使用自UTC(Coordinated Universal Time,國際協

Python的基本型簡介

rip 作用 集合 成了 叠代 如果 增加 下劃線 等號 1、變量 變量不僅可以是數字,還可以是任意數據類型 命名規範:變量是用一個變量名表示,變量名必須是大小寫英文、數字和下劃線_的組合,且不能用數字開頭 python中等號“=”是賦值語句,可以把任意數據類型賦值給變量

python urlparse 模塊介紹

服務 spa clas 開頭 條件 .aspx library div urllib urlparse模塊主要是用於解析url中的參數 對url按照一定格式進行 拆分或拼接 1.urlparse.urlparse 將url分為6個部分,返回一個包含6個字符串項目的元組:

python數據型轉換

lac 特殊字符 集合運算 子類 倒數 IE 發生 開始 ron 1、list轉str 假設有一個名為test_list的list,轉換後的str名為test_str 則轉換方法: test_str = "".join(test_list) 例子: 需要註意的是該

Python的元編寫ORM框架

部落格轉載: https://blog.csdn.net/givemefive_y/article/details/79806348 https://blog.csdn.net/eye_water/article/details/78777870 https://www.liaoxue

Python如何獲取屬性的列表

前言 最近工作中遇到個需求是要得到一個類的靜態屬性,也就是說有個類 Type ,我要動態獲取 Type.FTE 這個屬性的值。 最簡單的方案有兩個: ? 1 2 getattr(Type, 'FTE') Type.__dic

Python 的 經典、新式比較(1)(關鍵詞:Python/經典/新式)

經典類中,屬性搜尋處理對所有路徑深度優先,直到繼承樹的頂端,然後從左到右進行; 新式類中,屬性搜尋處理沿著樹層級、以更加廣度優先的方式進行。 新式類的優點:可以避免重複搜尋超類。 直接上程式碼說明: # Python 2 class Super: attr = 0 cla

python的元解讀

在多數的程式語言中,類就是一組用來描述如何生成一個物件的程式碼段,但類也是物件。只要使用關鍵詞class。python直譯器在執行時就會建立一個物件。對於一個物件·:可做的操作:賦值給一個變數,拷貝,增加屬性,作為函式引數進行傳遞等。 類也是物件,可以在執行時動態的建立。對於動態的建立類,可以使

函式在python是第一物件——day11

函式在python中是第一類物件?1、可以被引用x=1y=xdef bar(): print('from bar')f=barf()2、可以當中引數傳入x=1def func(a): print(a)func(x)def bar(): print('from bar')def wrapper

python 的元

1. 類也是物件 在大多數程式語言中,類就是一組用來描述如何生成一個物件的程式碼段。在Python中這一點仍然成立: >>> class ObjectCreator(object): … pass … >>> my_object = Objec

python的定製(形如__xxx__的變數)很有意思

python中除了可以使用內建的型別,如list,tuple,dict,還可以建立自己的物件來實現像這些內建型別的訪問,不過需要在定義類的時候對一些魔法方法逐一實現。 1、__str__ 我們先定義一個Study類,列印一個例項: 打印出一堆<__main__>,不好看

Python的numpy庫介紹

機器學習演算法中大部分都是呼叫Numpy庫來完成基礎數值計算的。 安裝方法: pip3 install numpy 1. ndarray陣列基礎 python中用列表儲存一組值,可將列表當陣列使用。另外,python中有array模組,但它不支援多維陣列,無論

python抽象與

前言: python中所有的資料都是以物件的形式存在,無論是簡單的數字型別還是複雜的程式碼模組。然而python特殊的語法形式巧妙的將實現物件機制的大量細節隱藏了,比如輸入num = 7就可以建立一個值為7的整數物件,並且將這個物件賦值給變數num。只是這個物件包含了加法,乘法之類

python dict 在宣告的位置不一樣,結果有所差別

第一種宣告方式: class A(object): names = {} def output(self): print(self.names) class A1(A): pass class A2(A): pass

理解python的元

一,理解類也是物件 在python中類同樣也是一種物件,只要使用關鍵字class,Python直譯器在執行的時候就會建立一個物件,這個物件(類)自身擁有建立物件(類例項)的能力,這就是為什麼他是一個類的原因,但是,他的本質任然是一個物件。 class objectCreator(object):

Django學習筆記(三十二):datetime.timedelta介紹

datetime.timedelta物件代表兩個時間之間的時間差,兩個date或datetime物件相減就可以返回一個timedelta物件。  如果有人問你昨天是幾號,這個很容易就回答出來了。但是如果問你200天前是幾號,就不是那麼容易答出來。而在Python中dateti