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