Python time模块时间处理详解:字符串、时间戳与格式转换

顾星河
顾星河
发布时间:2026-10-10| 7人浏览过
原创

在Python开发中,处理日期和时间是常见需求。time模块提供了多种函数来实现字符串与时间对象之间的转换、时间戳的获取以及时间格式化的操作。本文将通过具体代码示例,详细解析这些核心功能的用法。

字符串与时间元组的相互转换

处理时间数据时,通常需要将用户输入的字符串解析为Python可识别的时间元组,或者将时间元组格式化为可读的字符串。这主要依赖于 time.strptime() 和 time.strftime() 两个函数。

字符串解析为时间元组

time.strptime() 函数用于将字符串按照指定的格式解析为时间元组(struct_time)。其第一个参数是待解析的字符串,第二个参数是定义格式的指令。

import time

start = "2017-01-01"
end = "2017-8-12"

# 将字符串解析为时间元组,指定格式为年-月-日
startTime = time.strptime(start, "%Y-%m-%d")
endTime = time.strptime(end, "%Y-%m-%d")

print(startTime)
print(endTime)

时间元组格式化为字符串

相反地,time.strftime() 用于将时间元组转换为指定格式的字符串。注意该函数的参数顺序与 strptime 不同,第一个参数是格式字符串,第二个参数是时间元组。

# 将时间元组格式化为字符串,指定输出格式
_start = time.strftime('%Y%m%d-%H:%M:%S', startTime)
_end = time.strftime('%Y%m%d-%H:%M:%S', endTime)

print(_start)
print(_end)

时间戳与时间对象的转换

时间戳(Timestamp)通常指从1970年1月1日00:00:00开始到现在的秒数。在Python中,可以通过 time.mktime() 和 time.localtime() 在时间元组与时间戳之间进行转换。

时间元组转时间戳

time.mktime(t) 接收一个时间元组,返回对应的时间戳(浮点数)。这对于计算时间差非常有用。

# 将时间元组转换为时间戳
startStamp = time.mktime(startTime)
endStamp = time.mktime(endTime)

print(startStamp)
print(endStamp)

时间戳转时间元组

time.localtime(s) 接收一个时间戳,返回本地时间对应的时间元组。

# 将时间戳转换回时间元组
_startTime = time.localtime(startStamp)
print(_startTime)

计算时间差值

获取两个日期的时间戳后,可以通过简单的算术运算计算它们之间的天数差。由于时间戳以秒为单位,计算天数需除以一天的总秒数(24 * 60 * 60)。

# 计算两个日期之间的天数差
print(int((endStamp - startStamp) / (24 * 60 * 60)))

常用时间格式化符号

在使用 strftime 和 strptime 时,需要掌握以下常见的格式控制符:

  • %a:英文星期简写(如 Mon)
  • %A:英文星期全称(如 Monday)
  • %b:英文月份简写(如 Jan)
  • %B:英文月份全称(如 January)
  • %c:本地相应的日期和时间表示
  • %d:月份中的天数,范围 01-31
  • %H:小时(24小时制),范围 00-23
  • %I:小时(12小时制),范围 01-12
  • %m:月份,范围 01-12
  • %M:分钟,范围 00-59
  • %j:一年中的第几天,范围 001-366
  • %w:星期几,范围 0(周日)- 6(周六)
  • %W:一年中的第几周,范围 00-53
  • %x:本地日期表示
  • %X:本地时间表示
  • %y:年份,范围 00-99
  • %Y:年份,完整拼写(如 2017)

以上就是基于Python time模块进行时间处理的详细内容,更多关于Python时间处理技巧的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。