在 Python 中,datetime 模块是基于 time 模块实现的,它对 time 模块进行了封装,提供了更加方便的方法。因此在实际项目开发中,推荐优先使用 datetime 模块来操作日期时间。
在 datetime 模块中,有 3 个核心的类,如下表所示。
| 类 | 说明 |
|---|---|
| datetime | 既可以操作日期,也可以操作时间 |
| date | 只能操作日期,也就是年月日 |
| time | 只能操作时间,也就是时分秒 |
由于 datetime 类包含了 date 和 time 这两个类的功能,为了减轻记忆负担,小伙伴们只需要掌握 datetime 这一个类即可。
语法:
import datetime as dt
dt.datetime. 方法名 ()说明:
datetime 类的用法非常简单。我们一般先使用它的类方法 now() 来获取当前时间对象,然后使用该对象的实例方法 strftime() 将其格式化输出。
Python datetime 获取日期时间
在 Python 中,我们可以使用 datetime 模块的 datetime 类来获取时间,主要包括年月日、时分秒、星期几。
示例 1:datetime 获取完整时间
import datetime as dt
result = dt.datetime.now()
print(result)运行结果如下。
2025-05-20 13:14:30.596295分析:
now() 方法获取的是完整日期时间。如果仅仅希望获取日期,我们可以对 now() 的返回值进一步使用 date() 方法。如果仅仅希望获取时间,我们可以对 now() 的返回值进一步使用 time() 方法。
示例 2:datetime 获取一部分时间
import datetime as dt
result = dt.datetime.now()
d = result.date() # 仅仅获取日期
t = result.time() # 仅仅获取时间
print(d)
print(t)运行结果如下。
2025-05-20
13:14:30.596295示例 3:datetime 格式化时间
import datetime as dt
now = dt.datetime.now()
result = now.strftime('当前时间是:%Y-%m-%d %H:%M:%S %A')
print(result)运行结果如下。
当前时间是:2025-05-20 13:14:30 Monday分析:
如果想要单独获取年、月、日,或者时、分、秒,同样只需要使用正确的单个格式符就可以实现了。
示例 4:datetime 获取年、月、日
import datetime as dt
now = dt.datetime.now()
year = now.strftime('%Y')
month = now.strftime('%m')
day = now.strftime('%d')
print('年:', year)
print('月:', month)
print('日:', day)运行结果如下。
年:2025
月:05
日:20示例 5:datetime 获取时、分、秒
import datetime as dt
now = dt.datetime.now()
hour = now.strftime('%H')
minute = now.strftime('%M')
second = now.strftime('%S')
print('时:', hour)
print('分:', minute)
print('秒:', second)运行结果如下。
时:13
分:14
秒:30示例 6:datetime 获取星期几
import datetime as dt
days = {
'Monday': '星期一',
'Tuesday': '星期二',
'Wednesday': '星期三',
'Thursday': '星期四',
'Friday': '星期五',
'Saturday': '星期六',
'Sunday': '星期日'
}
now = dt.datetime.now()
wd = now.strftime('%A')
result = days[wd]
print(result)运行结果如下。
星期一Python datetime 设置日期时间
在 Python 中,我们可以使用 datetime 模块的 datetime() 方法来设置日期时间。
语法:
dt.datetime(year, month, day, hour, minute, second)说明:
datetime() 方法有 6 个参数,year、month、day 是必选参数,hour、minute、second 是可选参数。
示例 7:datetime 设置日期时间
import datetime as dt
d = dt.datetime(2025, 5, 20, 13, 14, 30)
print(d)运行结果如下。
2025-05-20 13:14:30