博客
关于我
Python日期时间模块
阅读量:798 次
发布时间:2023-03-08

本文共 2201 字,大约阅读时间需要 7 分钟。

Python 日期和时间处理模块实用指南

1. time 模块概述

time 模块是 Python 中处理日期和时间的基础模块,提供了时间戳获取、格式化以及时间操作等功能。其核心功能包括:

  • 时间戳获取:时间间隔以秒为单位,返回浮点型数值。
  • 时间格式化:通过 strftime 和 strptime 方法实现日期格式转换。
  • 时间元组:返回一个包含 9 个元素的元组,表示秒、分钟、小时、日期、年份等信息。

2. 获取当前时间

在 Python 中获取当前时间有以下几种方式:

import time
# 获取当前时间戳(秒为单位)
print(time.time()) # 返回浮点型时间戳
# 获取本地时间(结构化时间)
print(time.localtime()) # 返回 struct_time 元组
# 获取 UTC 时间(格式化为 struct_time)
print(time.gmtime())

3. 时间格式化

3.1 使用 strftime 格式化时间

strftime 方法用于将时间转换为特定格式的字符串:

import time
# 获取当前本地时间并格式化
local_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print("本地时间:", local_time) # 输出示例:2023-02-20 20:49:10

3.2 使用 strptime 解析字符串时间

strptime 方法用于将格式化的字符串转换为时间对象:

import time
# 示例日期字符串
date_str = "2023-02-20 20:49:10"
# 将字符串转换为 datetime 对象
time_obj = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(time_obj) # 输出:datetime(2023, 2, 20, 20, 49, 10)

3.3 时间格式化符号参考

以下是常用时间格式化符号:

符号 说明
%Y 四位数年份
%m 两位数月份(01-12)
%d 两位数日期(01-31)
%H 24小时制小时数(00-23)
%I 12小时制小时数(01-12)
%M 分钟数(00-59)
%S 秒数(00-59)
%p AM/PM 表示
%b 简化月份名称
%a 简化星期名称

4. datetime 模块概述

datetime 模块提供了更直观的时间和日期处理功能,支持日期、时间、时间差以及时区转换等操作。核心类包括:

  • datetime:表示具体的日期和时间。
  • date:表示日期(不含时间)。
  • timedelta:表示时间间隔。

5. datetime 模块操作

5.1 获取当前时间

from datetime import datetime
# 获取当前时间
now = datetime.now()
print(now) # 输出:2023-02-20 20:49:10

5.2 时间间隔操作

from datetime import datetime, timedelta
# 获取当前时间
now = datetime.now()
# 3 天后
three_days = now + timedelta(days=3)
print(three_days) # 输出:2023-02-23 20:49:10
# 3 小时 30 秒后
three_hours = now + timedelta(hours=3, seconds=30)
print(three_hours) # 输出:2023-02-20 23:49:40

5.3 格式化时间

from datetime import datetime
# 获取当前时间并格式化
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_time) # 输出:2023-02-20 20:49:10

5.4 解析字符串时间

date_str = "2023-02-20 20:49:10"
date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(date_obj) # 输出:2023-02-20 20:49:10

6. calendar 模块概述

calendar 模块用于生成日历信息,支持自定义星期开始天数。默认情况下,星期一为第一天。

6.1 生成日历

import calendar
# 获取 2023 年 5 月的日历
calendar.month(2023, 5)

7. 模块对比总结

模块 主要功能 适用场景
time 时间戳获取、格式化、元组处理 简单时间处理
datetime 日期、时间操作、格式化、时区转换 复杂时间和日期处理
calendar 日历生成、星期计算 日历显示和管理

以上内容涵盖了 Python 中日期和时间处理的核心功能,涵盖 time、datetime 和 calendar 模块的使用方法。通过合理使用这些模块,可以方便地完成日期时间的处理任务。

转载地址:http://mgofk.baihongyu.com/

你可能感兴趣的文章