python 标准库中的 datetime
模块提供了和日期和时间相关的类。
类 | 功能 |
---|---|
datetime.date | 以年、月和日表示日历中的日期 |
datetime.time | 以小时、分钟和秒表示一天中的时间 |
datetime.datetime | 以年、月、日、小时、分钟和秒表示日期和时间 |
datetime.timedelta | 表示一个时间段,即两个日期时间之间的差 |
1. datetime.date类
date 类以年、月和日表示日历中的日期。
import datetime
from datetime import date
print(date.today()) # 返回表示今天的日期对象
d = datetime.date(2022, 1, 30) # 构造日期2022/1/30
print(d.weekday()) # 返回一星期的第几天(星期一是0)
print(d.isoweekday()) # 返回一星期中的第几天(星期一是1)
print(d.isoformat()) # 以格式YYYY-MM-DD返回日期的字符串形式
print(d.isocalendar()) # 返回一个元组
print(d.ctime()) # 返回一个表示日期的字符串
print(d.strftime("%Y-%m-%d")) # 返回指定格式的日期字符串
print(d.replace(year=2021, month=10))
2. datetime.time类
time 类以小时、分钟和秒表示一天中的时间。
from datetime import time
t = time(18, 00, 45, 23)
print(t.hour, t.minute, t.second, t.microsecond)
print(t.isoformat())
print(t.strftime("%H:%M:%S:%f"))
print(t.replace(hour=19, minute=1, second=46, microsecond=24))
3. datetime.datetime类
datetime 类年、月、日、小时、分钟和秒表示日期和时间,包含 date 对象和 time 对象的所有信息。
from datetime import datetime, date, time
dt = datetime.combine(date(2022,1,30), time(21,48))
print(dt)
print(dt.isoformat())
print(dt.strftime("%Y-%m-%d %H:%M:%S:%f"))
print(dt.replace(year=2000, hour
4. datetime.timedelta类
timedelta 对象表示一个时间段,即两个日期 (date) 或日期时间 (datetime) 之间的差。
timedelta 接受命名参数:weeks、days、hours、minutes、seconds、milliseconds、microseconds。
from datetime import timedelta, date
d = date(2022, 1, 30)
delta = timedelta(days=3)
print(d - delta) # 得到日期d的前3天
5. 写在最后
实际上,我们学习基于python的库时该怎样去学习这个库呢?因为python提供了大量的内置库以及第三方库,那么自然这个API就非常多了,我们一下子学习完API是不可能的,当然你也记不住API,可能有个大概影响,这就足够了。我们在使用库时一定要学会阅读官方文档
,官方文档里面提供了所有的接口,包含了接口的作用,接口的参数,以及部分接口的使用方法等。
关于datetime模块的更多信息,请参考官方文档:
https://docs.python.org/3.9/library/datetime.html#datetime.date