python中datetime.date类介绍

本文介绍Python中date类的使用方法,包括构造函数、获取当前日期、根据时间戳生成日期、获取星期信息、格式化日期、替换日期部分及日期运算等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



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 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值