Python 解析时间字符串为字典的两种实现方式

小满
小满
发布时间:2026-10-12| 3人浏览过
原创

本文介绍在 Python 中将标准时间字符串(如“2018-02-04 18:23:35”)解析为包含年、月、日、时、分、秒键值对的字典的两种常用方法。通过正则表达式匹配或内置 time 模块,可以高效提取时间信息并转换为结构化数据,适用于日志分析和数据处理场景。

解析时间字符串为字典

在处理日志数据或用户输入时,经常需要将格式化的时间字符串(例如“2018-02-04 18:23:35”)转换为结构化的字典对象。这种转换通常包含 year、month、day、hour、minute 和 second 等键,以便后续进行计算或展示。

方法一:使用正则表达式匹配

正则表达式提供了一种灵活的方式来提取时间字符串中的各个部分。通过定义匹配模式,可以捕获年、月、日、时、分、秒的具体数值,并将其映射到字典的相应键中。

import re

def parse_time_regex(time_str):
    pattern = r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})'
    match = re.match(pattern, time_str)
    if match:
        return {
            'year': int(match.group(1)),
            'month': int(match.group(2)),
            'day': int(match.group(3)),
            'hour': int(match.group(4)),
            'minute': int(match.group(5)),
            'second': int(match.group(6))
        }
    return None

# 示例用法
time_str = "2018-02-04 18:23:35"
result = parse_time_regex(time_str)
print(result)

方法二:使用 time 模块

Python 的内置 time 模块提供了 strptime 函数,可以直接将格式化的时间字符串解析为时间元组(struct_time)。随后,可以将该元组转换为字典,提取所需的时间分量。

import time

def parse_time_module(time_str):
    time_tuple = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
    return {
        'year': time_tuple.tm_year,
        'month': time_tuple.tm_mon,
        'day': time_tuple.tm_mday,
        'hour': time_tuple.tm_hour,
        'minute': time_tuple.tm_min,
        'second': time_tuple.tm_sec
    }

# 示例用法
time_str = "2018-02-04 18:23:35"
result = parse_time_module(time_str)
print(result)

上述两种方法均能实现将时间字符串解析为字典形式的结果。正则表达式方法更加灵活,适用于各种格式的时间字符串;而 time 模块方法则更加简洁,适用于标准格式的时间字符串。

总结

在 Python 中,解析时间字符串为字典形式可以通过正则表达式或 time 模块实现。正则表达式方法适用于各种格式的时间字符串,而 time 模块方法则更加简洁,适用于标准格式的时间字符串。根据具体需求选择合适的方法,可以提高代码的可读性和执行效率。

以上就是 Python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解的详细内容,更多关于 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 算法库。