暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

python基础--datetime库(1)

AI小白笔记 2021-10-22
275

点击蓝字

关注我们


datetime库提供用于处理日期和时间的类,常用的类有:


类名

功能说明

date

日期对象,有属性yearmonthday

time

时间对象,有属性hour,  minute, second, microsecond tzinfo

datetime

时间和时间的结合,有属性year, month, day, hour, minute, second, microsecond, and tzinfo

timedelta

表示两个日期或时间之间的间隔,精确到微秒

tzinfo

描述时区信息对象的抽象基类

timezone

一个实现tzinfo抽象基类的子类,用于表示相对于世界标准时间(UTC)的偏移量


下面先介绍date类的用法。


date类

讲date类之前先明确一下python中表示年份的最大值和最小值,分别用MAXYEAR和MINYEAR来表示,这两个值是常量,所以用大写来表示,见代码:


import datetime
print(datetime.MAXYEAR)
print(datetime.MINYEAR)

9999

1


可见年份的最大值是9999,最小值是1。

使用这个库之前务必使用import datetime导入。


date对象由year,month和day这三部分构成,定义一个日期时可写成如下形式:


a=datetime.date(2021,10,22)
print(a)
print(a.year)
print(a.month)
print(a.day)

2021-10-22

2021

10

22


赋值时直接把年、月、日作为date()的参数即可,注意年月日的值不能超过其表示范围,否则会报错,比如datetime.date(2021,13,22)会引发ValueError错误,因为没有13这个月份。


通过这个例子,我们知道date对象可以直接赋值给一个变量的,所以我一直认为可以把日期(时间)型理解为python的一种数据类型,但参考了很多文献与资料,讲解数据类型时一般只提数值型、字符串类型以及列表、字典、元组、集合等,没有把日期时间作为一种数据类型来进行讲解,包括官方文档,在此不敢自作自张,标新立异。只是觉得如果放在数据类型的章节来介绍的话,可以提前学会使用Python来处理与日期时间相关的程序。


若要获取系统的当前日期使用datetime.date.today(),比如:


print(datetime.date.today()

2021-10-21


不同的日期还可以进行比较,一般认为往后的日期比往前的日期大,比如:


a=datetime.date(2021,10,22)
b=datetime.date(2021,10,23)
print(a==b,a<b,a>b,a!=b)

False True False True


如果想知道两个日期之间相差多少天,还可以用减法,某个日期往后几天或往前几天,同样可以用这个日期加上或减去天数:


a=datetime.date(2021,10,22)
b=datetime.date(2021,9,23)
print(b-a) #相差的天数
print(a-b) #相差的天数
print(a+datetime.timedelta(days=3)) #往后3天
print(b-datetime.timedelta(days=5)) #往前5天

-29 days, 0:00:00

29 days, 0:00:00

2021-10-25

2021-09-18


后面的日期减前面的日期,结果是正数,前面的日期减后面的日期结果是负数,表示天数使用datetime.timedelta(days=n)的形式来表达,后面还要再详细介绍timedelta()的用法。


如果想知道某个日期是星期几,使用date.isoweekday()的形式来获得,比如:


a=datetime.date(2021,10,24)
b=datetime.date.today() #2021-10-21
print(a.isoweekday(),b.isoweekday())

7 4


isoweekday()返回一个整数,1表示星期一,7表示星期日。


datetime库很庞大,这一节只介绍date类常用的一些方法,余下的内容且听后面几节慢慢分解。


THE END


文章转载自AI小白笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论