Python中将指定格式时间字符串转为时间戳的方法

南乔
南乔
发布时间:2026-10-12| 2人浏览过
原创

详细介绍如何在Python项目中利用内置time模块,把任意自定义格式的日期文本快速转换为标准的Unix时间戳。内容涵盖底层解析原理、完整可复用函数封装、常见格式控制符对照表以及典型调用示例,帮助开发者高效处理日志分析与接口数据对接中的时间对齐问题。

转换目标与核心原理

在数据处理或接口对接中,经常需要将形如“2023年02月25日 17:41:12”的非标准时间字符串转换为秒级时间戳。Python内置的time模块提供了完整的解析链路:首先使用time.strptime()将字符串按指定格式解析为结构化时间对象,随后调用time.mktime()将该对象映射为以秒为单位的数值,最后取整即可得到整数时间戳。整个过程不依赖第三方库,执行效率稳定且兼容性强。

完整转换代码示例

import time
import json

def get_timestamp(str_time: str, time_format: str) -> str:
    """
    将指定格式的时间字符串转换为JSON格式的时间戳结果
    :param str_time: 待转换的时间字符串,例如 '2023年02月25日 17:41:12'
    :param time_format: 与str_time严格对应的格式控制符
    :return: JSON字符串,包含状态码、提示信息与时间戳数据
    """
    if not isinstance(str_time, str) or not isinstance(time_format, str):
        return json.dumps({'code': 1, 'msg': '输入参数必须为字符串类型'}, ensure_ascii=False)
    
    # 第1步:字符串解析为结构化时间
    struct_time = time.strptime(str_time, time_format)
    # 第2步:结构化时间转为时间戳
    timestamp = int(time.mktime(struct_time))
    
    return json.dumps({'code': 0, 'msg': 'success', 'data': {'time': timestamp}}, ensure_ascii=False)

# 测试调用
result_json = get_timestamp('2023年02月25日 17:41:12', '%Y年%m月%d日 %H:%M:%S')
print(result_json)

操作步骤与关键参数说明

第1步:配置时间格式控制符

格式控制符必须与被转换的时间字符串在排版与数值上完全对应。常用符号如下:

  • %Y:四位数年份(如2023)
  • %m:月份,范围01~12
  • %d:一月中的第几天,范围01~31
  • %H:24小时制小时数,范围00~23
  • %M:分钟数,范围00~59
  • %S:秒数,范围00~59

若字符串中包含中文“年”、“月”、“日”或空格分隔符,需在控制符中如实保留,例如:'%Y年%m月%d日 %H:%M:%S'。控制符拼写或顺序错误会导致ValueError异常中断程序。

第2步:调用解析与转换函数

将格式化好的字符串与控制符传入封装函数。函数内部依次执行解析与转换逻辑:time.strptime负责拆解字符建立时间元组,time.mktime基于系统本地时区计算自1970年1月1日以来的秒数。返回值通过int()截断小数部分,符合常规业务对整数时间戳的接收要求。

第3步:校验返回结果

调用完成后,终端会输出标准JSON响应。可通过解析该字符串提取时间戳字段进行后续逻辑判断。正常转换状态下返回的code为0,异常输入则拦截并返回明确提示,便于日志追踪与二次封装。

关键注意事项

time.mktime()的计算基准为操作系统设置的本地时区。若跨时区交互需统一为UTC时间,建议先安装第三方库或使用calendar.timegm()替代。此外,确保传入的年月日等数值在合法范围内,否则解析阶段即会抛出值越界错误。如需提前备份原始数据结构以防覆盖,建议在复杂工作流中增加副本变量。

以上就是Python时间字符串转时间戳的详细内容,更多关于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 算法库。