Python第十一章-常用的核心模块04-datetime模块
目录
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用.
本章主要介绍 python 的一些内置常用核心模块
Python 常用的核心模块
四、datetime模块
datetime
模块是专门用来处理时间的标准库模块.
模块名是datetime
, 这个模块的内部定义多个类.
datetime
模块下有个类datatime
既可以操作日期, 也可以操作时间. 主要研究这个类
4.1获取当前日期和时间
# 导入 datetime 模块下的类 datetime
from datetime import datetime
# 调用 datetime 的类方法 now 获取当前日期和时间, 返回的是一个 datetime 对象
now = datetime.now()
print(now)
print(isinstance(now, datetime))
4.2指定日期和时间
使用类datetime
创建对象, 可以传入指定的日期和时间
from datetime import datetime
# 年月日时分秒, 时分秒可选,默认都是0
that_time = datetime(2028, 10, 11, 12, 11, 20)
print(that_time)
传递值的时候不能超出范围, 否则会抛异常.
4.3 datetime
的一些常用属性和方法
4.3.1.类属性
min
: python 所能处理的最小日期和时间
max
: python 所能处理的最大日期和时间
from datetime import datetime
print(datetime.max)
print(datetime.min)
4.3.2.实例属性(只读)
year, month, day, hour, minute, second, microsecond
microsecond
:是微秒
from datetime import datetime
now = datetime.now()
msg = "现在是: %d 年 %d 月 %d 日 %d:%d:%d %d" \
% (now.year, now.month, now.day,
now.hour, now.minute, now.second,
now.microsecond)
print(msg)
4.3.3.类方法
now(), today()
2 个方法都是返回当前日期和时间
4.3.4.实例方法
weekday()
:返回是星期几(0-6)
isoweekday()
:也是返回星期几(1-7)
from datetime import datetime
now = datetime.now()
print(now.weekday())
print(now.isoweekday())
4.4datetime
支持的 + - 比较
操作
datetime
实例可以和一个timedelta
对象进行 + -
操作
timedelta
表示日期和时间的一个变化量
from datetime import datetime, timedelta
now = datetime.now()
print(now)
# 表示3天后的时间
later = now + timedelta(days=3)
print(later)
# 表示3天前的时间
pre = now - timedelta(days=3)
print(pre)
# 两个日期进行比较大小
print(now > pre)
print(now < later)
4.5timestamp
(时间戳)
在计算机中,时间实际上是用数字表示的。我们把1970年1月1日 00:00:00 UTC+00:00时区的时刻称为epoch time,记为0(1970年以前的时间timestamp为负数),当前时间就是相对于epoch time的秒数,称为timestamp。
注意:python 的这里是用 s 来表示的, 别的语言大部分是 ms.
from datetime import datetime
now = datetime.now()
# 把日期和时间转成时间戳. 注意返回值是浮点数
print(now.timestamp())
# 把时间戳转换成 datetime
that_dt = datetime.fromtimestamp(2849839789)
print(that_dt)